summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKlaus Schmidinger <Klaus (dot) Schmidinger (at) tvdr (dot) de>2010-09-19 16:00:00 +0200
committerKlaus Schmidinger <Klaus (dot) Schmidinger (at) tvdr (dot) de>2010-09-19 16:00:00 +0200
commit58db02442b375f5669416e6e744a8325ed363f99 (patch)
treec254912dffebfa6197c0a0a699ae79add7b85ef0
parentc2c45d68c644684e002a92ceee83af7550aaa1e4 (diff)
downloadvdr-patch-lnbsharing-58db02442b375f5669416e6e744a8325ed363f99.tar.gz
vdr-patch-lnbsharing-58db02442b375f5669416e6e744a8325ed363f99.tar.bz2
Version 1.7.16vdr-1.7.16
- Updated the Italian OSD texts (thanks to Diego Pierotto). - Added missing Dtypes for ATSC (thanks to Alex Lasnier). - Updated the Portuguese language texts (thanks to Cristiano A. Silva). - Updated the Finnish OSD texts (thanks to Rolf Ahrenberg). - Fixed the array size of Atypes in cPatFilter::Process() (thanks to Rolf Ahrenberg). - Added locking to the cCutter functions to avoid a crash in case CutRecording() is called from a plugin (reported by Andreas Mair). - Fixed DDS detection for HD resolution subtitles (thanks to Reinhard Nissl). - Fixed following symbolic links in RemoveFileOrDir(). - Added support for languages that are written right-to-left (based on a patch from Osama Alrawab). See INSTALL for information on how to turn this on. - Added Arabian language texts (thanks to Osama Alrawab).
-rw-r--r--CONTRIBUTORS11
-rw-r--r--HISTORY16
-rw-r--r--INSTALL11
-rw-r--r--Makefile7
-rw-r--r--PLUGINS/src/dvbsddevice/dvbsdffdevice.c6
-rw-r--r--PLUGINS/src/dvbsddevice/dvbsdffosd.c4
-rw-r--r--PLUGINS/src/hello/po/fi_FI.po10
-rw-r--r--PLUGINS/src/pictures/po/fi_FI.po4
-rw-r--r--PLUGINS/src/skincurses/po/fi_FI.po4
-rw-r--r--config.h10
-rw-r--r--cutter.c9
-rw-r--r--cutter.h5
-rw-r--r--dvbsubtitle.c6
-rw-r--r--font.c41
-rw-r--r--font.h7
-rw-r--r--i18n.c5
-rw-r--r--pat.c5
-rw-r--r--po/ar.po1409
-rw-r--r--po/fi_FI.po2
-rw-r--r--po/it_IT.po4
-rw-r--r--po/pt_PT.po565
-rw-r--r--tools.c39
22 files changed, 1847 insertions, 333 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index cd51812..0d9a161 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -984,6 +984,7 @@ Andreas Mair <andreas@vdr-developer.org>
option ':groups' is given
for fixing handling 3 and 4 byte UTF-8 symbols in Utf8CharGet()
for fixing initializing the timer's flags in the cTimer copy constructor
+ for reporting a crash in case CutRecording() is called from a plugin
Olivier Jacques <jacquesolivier@hotmail.com>)
for translating OSD texts to the French language
@@ -1097,6 +1098,7 @@ Rolf Ahrenberg <rahrenbe@cc.hut.fi>
for reporting a possible out of buffer memory access in case of bad TS data
for implementing handling of HD resolution subtitles according to v1.3.1 of
ETSI EN 300 743, chapter 7.2.1
+ for fixing the array size of Atypes in cPatFilter::Process()
Ralf Klueber <ralf.klueber@vodafone.com>
for reporting a bug in cutting a recording if there is only a single editing mark
@@ -1254,6 +1256,7 @@ Reinhard Nissl <rnissl@gmx.de>
for devices with large buffers
for implementing cDeviceHook
for implementing cDevice::GetCurrentlyTunedTransponder()
+ for fixing DDS detection for HD resolution subtitles
Richard Robson <richard_robson@beeb.net>
for reporting freezing replay if a timer starts while in Transfer Mode from the
@@ -2590,6 +2593,7 @@ Lars Hanisch <dvb@flensrocker.de>
Alex Lasnier <alex@fepg.org>
for adding tuning support for ATSC devices
+ for adding missing Dtypes for ATSC
Dimitar Petrovski <dimeptr@gmail.com>
for translating OSD texts to the Macedonian language
@@ -2614,3 +2618,10 @@ Christopher Reimer <reimer.christopher@freenet.de>
Stefan Huskamp <coca_cola1@gmx.de>
for suggesting to make entering characters via the number keys
configurable
+
+Cristiano A. Silva <arquithek@gmail.com>
+ for updating the Portuguese language texts
+
+Osama Alrawab <alrawab@hotmail.com>
+ for adding support for languages that are written right-to-left
+ for translating OSD texts to the Arabian language
diff --git a/HISTORY b/HISTORY
index 3976ba5..d170de5 100644
--- a/HISTORY
+++ b/HISTORY
@@ -6464,3 +6464,19 @@ Video Disk Recorder Revision History
- The new setup option "OSD/Number keys for characters" can be used to control whether
the number keys can be used to enter characters in a text input field (suggested
by Stefan Huskamp).
+
+2010-09-19: Version 1.7.16
+
+- Updated the Italian OSD texts (thanks to Diego Pierotto).
+- Added missing Dtypes for ATSC (thanks to Alex Lasnier).
+- Updated the Portuguese language texts (thanks to Cristiano A. Silva).
+- Updated the Finnish OSD texts (thanks to Rolf Ahrenberg).
+- Fixed the array size of Atypes in cPatFilter::Process() (thanks to
+ Rolf Ahrenberg).
+- Added locking to the cCutter functions to avoid a crash in case CutRecording()
+ is called from a plugin (reported by Andreas Mair).
+- Fixed DDS detection for HD resolution subtitles (thanks to Reinhard Nissl).
+- Fixed following symbolic links in RemoveFileOrDir().
+- Added support for languages that are written right-to-left (based on a patch
+ from Osama Alrawab). See INSTALL for information on how to turn this on.
+- Added Arabian language texts (thanks to Osama Alrawab).
diff --git a/INSTALL b/INSTALL
index ee4f64a..e69768a 100644
--- a/INSTALL
+++ b/INSTALL
@@ -23,6 +23,7 @@ You will also need to install the following libraries, as well as their
fontconfig
freetype2
+ fribidi (see "BiDi support" below)
gettext
libcap
libjpeg
@@ -111,6 +112,16 @@ in English.
Note that for VDR's internationalized texts to work, the LANG environment
variable must be set to a valid locale!
+BiDi support
+------------
+
+Some languages are written right-to-left. In order to display such languages
+correctly, you need to build VDR with BIDI=1. This will link to the "fribidi"
+library and implement a function that prepares bidirectional texts to be
+displayed correctly. Since BiDi support adds some runtime overhead by requiring
+additional memory allocation and copying, this feature is not compiled in
+by default, so that users that have no need for this don't get any overhead.
+
Workaround for providers not encoding their EPG data correctly
--------------------------------------------------------------
diff --git a/Makefile b/Makefile
index d788484..26f54ea 100644
--- a/Makefile
+++ b/Makefile
@@ -4,7 +4,7 @@
# See the main source file 'vdr.c' for copyright information and
# how to reach the author.
#
-# $Id: Makefile 2.9 2010/04/10 12:40:15 kls Exp $
+# $Id: Makefile 2.10 2010/09/17 13:28:50 kls Exp $
.DELETE_ON_ERROR:
@@ -53,6 +53,11 @@ endif
ifdef VDR_USER
DEFINES += -DVDR_USER=\"$(VDR_USER)\"
endif
+ifdef BIDI
+INCLUDES += -I/usr/include/fribidi
+DEFINES += -DBIDI
+LIBS += -lfribidi
+endif
LIRC_DEVICE ?= /dev/lircd
RCU_DEVICE ?= /dev/ttyS1
diff --git a/PLUGINS/src/dvbsddevice/dvbsdffdevice.c b/PLUGINS/src/dvbsddevice/dvbsdffdevice.c
index 483381f..8671b1e 100644
--- a/PLUGINS/src/dvbsddevice/dvbsdffdevice.c
+++ b/PLUGINS/src/dvbsddevice/dvbsdffdevice.c
@@ -3,7 +3,7 @@
*
* See the README file for copyright information and how to reach the author.
*
- * $Id: dvbsdffdevice.c 2.26 2010/01/30 10:05:23 kls Exp $
+ * $Id: dvbsdffdevice.c 2.27 2010/09/19 12:43:33 kls Exp $
*/
#include "dvbsdffdevice.h"
@@ -15,9 +15,9 @@
#include <linux/dvb/video.h>
#include <sys/ioctl.h>
#include <sys/mman.h>
+#include <vdr/eitscan.h>
+#include <vdr/transfer.h>
#include "dvbsdffosd.h"
-#include "vdr/eitscan.h"
-#include "vdr/transfer.h"
// --- cDvbSdFfDevice --------------------------------------------------------
diff --git a/PLUGINS/src/dvbsddevice/dvbsdffosd.c b/PLUGINS/src/dvbsddevice/dvbsdffosd.c
index 4ff8db9..4b60ef5 100644
--- a/PLUGINS/src/dvbsddevice/dvbsdffosd.c
+++ b/PLUGINS/src/dvbsddevice/dvbsdffosd.c
@@ -3,7 +3,7 @@
*
* See the README file for copyright information and how to reach the author.
*
- * $Id: dvbsdffosd.c 2.1 2009/12/29 11:52:48 kls Exp $
+ * $Id: dvbsdffosd.c 2.2 2010/09/19 12:43:45 kls Exp $
*/
#include "dvbsdffosd.h"
@@ -11,7 +11,7 @@
#include <signal.h>
#include <sys/ioctl.h>
#include <sys/unistd.h>
-#include "vdr/tools.h"
+#include <vdr/tools.h>
// --- cDvbSdFfOsd -----------------------------------------------------------
diff --git a/PLUGINS/src/hello/po/fi_FI.po b/PLUGINS/src/hello/po/fi_FI.po
index 476fe4c..36677e0 100644
--- a/PLUGINS/src/hello/po/fi_FI.po
+++ b/PLUGINS/src/hello/po/fi_FI.po
@@ -2,7 +2,7 @@
# Copyright (C) 2008 Klaus Schmidinger <kls@tvdr.de>
# This file is distributed under the same license as the VDR package.
# Hannu Savolainen <hannu@opensound.com>, 2002
-# Jaakko Hyvätti <jaakko@hyvatti.iki.fi>, 2002
+# Jaakko Hyvätti <jaakko@hyvatti.iki.fi>, 2002
# Niko Tarnanen <niko.tarnanen@hut.fi>, 2003
# Rolf Ahrenberg <rahrenbe@cc.hut.fi>, 2003
#
@@ -15,11 +15,11 @@ msgstr ""
"Last-Translator: Rolf Ahrenberg <rahrenbe@cc.hut.fi>\n"
"Language-Team: Finnish\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-15\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
msgid "A friendly greeting"
-msgstr "Ystävällisin terveisin"
+msgstr "Ystävällisin terveisin"
msgid "Hello"
msgstr "Hei"
@@ -28,10 +28,10 @@ msgid "Greeting time (s)"
msgstr "Tervehdysaika (s)"
msgid "Use alternate greeting"
-msgstr "Käytä vaihtoehtoista tervehdystä"
+msgstr "Käytä vaihtoehtoista tervehdystä"
msgid "Howdy folks!"
-msgstr "Mitä kuuluu?"
+msgstr "Mitä kuuluu?"
msgid "Hello world!"
msgstr "Hei maailma!"
diff --git a/PLUGINS/src/pictures/po/fi_FI.po b/PLUGINS/src/pictures/po/fi_FI.po
index bbcb697..803fa9e 100644
--- a/PLUGINS/src/pictures/po/fi_FI.po
+++ b/PLUGINS/src/pictures/po/fi_FI.po
@@ -12,7 +12,7 @@ msgstr ""
"Last-Translator: Rolf Ahrenberg <rahrenbe@cc.hut.fi>\n"
"Language-Team: Finnish\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-15\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -29,4 +29,4 @@ msgid "Slide show delay (s)"
msgstr "Diaesityksen viive (s)"
msgid "No picture directory has been defined!"
-msgstr "Kuvahakemistoa ei ole määritelty!"
+msgstr "Kuvahakemistoa ei ole määritelty!"
diff --git a/PLUGINS/src/skincurses/po/fi_FI.po b/PLUGINS/src/skincurses/po/fi_FI.po
index 71f7297..01fda4d 100644
--- a/PLUGINS/src/skincurses/po/fi_FI.po
+++ b/PLUGINS/src/skincurses/po/fi_FI.po
@@ -12,7 +12,7 @@ msgstr ""
"Last-Translator: Rolf Ahrenberg <rahrenbe@cc.hut.fi>\n"
"Language-Team: Finnish\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-15\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
msgid "A text only skin"
@@ -22,7 +22,7 @@ msgid "Key$Mute"
msgstr "Mykistys"
msgid "Volume "
-msgstr "Äänenvoimakkuus "
+msgstr "Äänenvoimakkuus "
msgid "Text mode"
msgstr "Teksti"
diff --git a/config.h b/config.h
index 7041eb7..7c28d41 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 2.27 2010/06/06 09:53:02 kls Exp $
+ * $Id: config.h 2.28 2010/09/12 11:31:21 kls Exp $
*/
#ifndef __CONFIG_H
@@ -22,13 +22,13 @@
// VDR's own version number:
-#define VDRVERSION "1.7.15"
-#define VDRVERSNUM 10715 // Version * 10000 + Major * 100 + Minor
+#define VDRVERSION "1.7.16"
+#define VDRVERSNUM 10716 // Version * 10000 + Major * 100 + Minor
// The plugin API's version number:
-#define APIVERSION "1.7.15"
-#define APIVERSNUM 10715 // Version * 10000 + Major * 100 + Minor
+#define APIVERSION "1.7.16"
+#define APIVERSNUM 10716 // Version * 10000 + Major * 100 + Minor
// When loading plugins, VDR searches them by their APIVERSION, which
// may be smaller than VDRVERSION in case there have been no changes to
diff --git a/cutter.c b/cutter.c
index ff6b4ed..c1f4984 100644
--- a/cutter.c
+++ b/cutter.c
@@ -4,13 +4,12 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: cutter.c 2.4 2010/01/02 13:08:08 kls Exp $
+ * $Id: cutter.c 2.5 2010/08/29 13:35:18 kls Exp $
*/
#include "cutter.h"
#include "recording.h"
#include "remux.h"
-#include "thread.h"
#include "videodir.h"
// --- cCuttingThread --------------------------------------------------------
@@ -194,6 +193,7 @@ void cCuttingThread::Action(void)
// --- cCutter ---------------------------------------------------------------
+cMutex cCutter::mutex;
char *cCutter::editedVersionName = NULL;
cCuttingThread *cCutter::cuttingThread = NULL;
bool cCutter::error = false;
@@ -201,6 +201,7 @@ bool cCutter::ended = false;
bool cCutter::Start(const char *FileName)
{
+ cMutexLock MutexLock(&mutex);
if (!cuttingThread) {
error = false;
ended = false;
@@ -231,6 +232,7 @@ bool cCutter::Start(const char *FileName)
void cCutter::Stop(void)
{
+ cMutexLock MutexLock(&mutex);
bool Interrupted = cuttingThread && cuttingThread->Active();
const char *Error = cuttingThread ? cuttingThread->Error() : NULL;
delete cuttingThread;
@@ -247,6 +249,7 @@ void cCutter::Stop(void)
bool cCutter::Active(void)
{
+ cMutexLock MutexLock(&mutex);
if (cuttingThread) {
if (cuttingThread->Active())
return true;
@@ -263,6 +266,7 @@ bool cCutter::Active(void)
bool cCutter::Error(void)
{
+ cMutexLock MutexLock(&mutex);
bool result = error;
error = false;
return result;
@@ -270,6 +274,7 @@ bool cCutter::Error(void)
bool cCutter::Ended(void)
{
+ cMutexLock MutexLock(&mutex);
bool result = ended;
ended = false;
return result;
diff --git a/cutter.h b/cutter.h
index afc5e93..59c4400 100644
--- a/cutter.h
+++ b/cutter.h
@@ -4,16 +4,19 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: cutter.h 2.1 2010/01/02 12:09:54 kls Exp $
+ * $Id: cutter.h 2.2 2010/08/29 13:32:33 kls Exp $
*/
#ifndef __CUTTER_H
#define __CUTTER_H
+#include "thread.h"
+
class cCuttingThread;
class cCutter {
private:
+ static cMutex mutex;
static char *editedVersionName;
static cCuttingThread *cuttingThread;
static bool error;
diff --git a/dvbsubtitle.c b/dvbsubtitle.c
index 6ecb3b7..5494374 100644
--- a/dvbsubtitle.c
+++ b/dvbsubtitle.c
@@ -7,7 +7,7 @@
* Original author: Marco Schlüßler <marco@lordzodiac.de>
* With some input from the "subtitle plugin" by Pekka Virtanen <pekka.virtanen@sci.fi>
*
- * $Id: dvbsubtitle.c 2.6 2010/06/05 14:03:55 kls Exp $
+ * $Id: dvbsubtitle.c 2.7 2010/08/29 14:08:23 kls Exp $
*/
#include "dvbsubtitle.h"
@@ -660,7 +660,7 @@ cDvbSubtitleConverter::cDvbSubtitleConverter(void)
dvbSubtitleAssembler = new cDvbSubtitleAssembler;
osd = NULL;
frozen = false;
- ddsVersionNumber = 0;
+ ddsVersionNumber = -1;
displayWidth = 720;
displayHeight = 576;
displayHorizontalOffset = 0;
@@ -693,7 +693,7 @@ void cDvbSubtitleConverter::Reset(void)
bitmaps->Clear();
DELETENULL(osd);
frozen = false;
- ddsVersionNumber = 0;
+ ddsVersionNumber = -1;
displayWidth = 720;
displayHeight = 576;
displayHorizontalOffset = 0;
diff --git a/font.c b/font.c
index 515017b..4ff4017 100644
--- a/font.c
+++ b/font.c
@@ -4,12 +4,17 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: font.c 2.4 2009/12/31 14:49:59 kls Exp $
+ * BiDi support by Osama Alrawab <alrawab@hotmail.com> @2008 Tripoli-Libya.
+ *
+ * $Id: font.c 2.5 2010/09/19 11:49:19 kls Exp $
*/
#include "font.h"
#include <ctype.h>
#include <fontconfig/fontconfig.h>
+#ifdef BIDI
+#include <fribidi.h>
+#endif
#include <ft2build.h>
#include FT_FREETYPE_H
#include "config.h"
@@ -240,6 +245,10 @@ int cFreetypeFont::Width(const char *s) const
{
int w = 0;
if (s) {
+#ifdef BIDI
+ cString bs = Bidi(s);
+ s = bs;
+#endif
uint prevSym = 0;
while (*s) {
int sl = Utf8CharLen(s);
@@ -259,6 +268,10 @@ int cFreetypeFont::Width(const char *s) const
void cFreetypeFont::DrawText(cBitmap *Bitmap, int x, int y, const char *s, tColor ColorFg, tColor ColorBg, int Width) const
{
if (s && height) { // checking height to make sure we actually have a valid font
+#ifdef BIDI
+ cString bs = Bidi(s);
+ s = bs;
+#endif
bool AntiAliased = Setup.AntiAlias && Bitmap->Bpp() >= 8;
bool TransparentBackground = ColorBg == clrTransparent;
int16_t BlendLevelIndex[MAX_BLEND_LEVELS]; // tIndex is 8 bit unsigned, so a negative value can be used to mark unused entries
@@ -443,6 +456,32 @@ cString cFont::GetFontFileName(const char *FontName)
return FontFileName;
}
+#ifdef BIDI
+cString cFont::Bidi(const char *Ltr)
+{
+ fribidi_set_mirroring(true);
+ fribidi_set_reorder_nsm(false);
+ FriBidiCharSet fribidiCharset = FRIBIDI_CHAR_SET_UTF8;
+ int LtrLen = strlen(Ltr);
+ FriBidiCharType Base = FRIBIDI_TYPE_L;
+ FriBidiChar *Logical = MALLOC(FriBidiChar, LtrLen + 1) ;
+ int RtlLen = fribidi_charset_to_unicode(fribidiCharset, const_cast<char *>(Ltr), LtrLen, Logical);
+ FriBidiChar *Visual = MALLOC(FriBidiChar, LtrLen + 1) ;
+ char *Rtl = NULL;
+ bool ok = fribidi_log2vis(Logical, RtlLen, &Base, Visual, NULL, NULL, NULL);
+ if (ok) {
+ fribidi_remove_bidi_marks(Visual, RtlLen, NULL, NULL, NULL);
+ Rtl = MALLOC(char, RtlLen * 4);
+ fribidi_unicode_to_charset(fribidiCharset, Visual, RtlLen, Rtl);
+ }
+ free(Logical);
+ free(Visual);
+ if (ok)
+ return cString(Rtl, true);
+ return cString(Ltr);
+}
+#endif
+
// --- cTextWrapper ----------------------------------------------------------
cTextWrapper::cTextWrapper(void)
diff --git a/font.h b/font.h
index 449b429..cb76671 100644
--- a/font.h
+++ b/font.h
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: font.h 2.3 2009/12/31 14:48:25 kls Exp $
+ * $Id: font.h 2.4 2010/09/19 11:48:37 kls Exp $
*/
#ifndef __FONT_H
@@ -82,6 +82,11 @@ public:
///< Returns true if any font names were found.
static cString GetFontFileName(const char *FontName);
///< Retruns the actual font file name for the given FontName.
+#ifdef BIDI
+ static cString Bidi(const char *Ltr);
+ ///< Converts any "right-to-left" parts in the "left-to-right" string Ltr
+ ///< to the proper language specific representation and returns the resulting string.
+#endif
};
class cTextWrapper {
diff --git a/i18n.c b/i18n.c
index 98544d2..d643034 100644
--- a/i18n.c
+++ b/i18n.c
@@ -4,9 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: i18n.c 2.1 2008/09/06 12:24:43 kls Exp $
- *
- *
+ * $Id: i18n.c 2.2 2010/09/19 11:22:39 kls Exp $
*/
/*
@@ -60,6 +58,7 @@ const char *LanguageCodeList[] = {
"cze,ces",
"tur",
"ukr",
+ "ara",
NULL
};
diff --git a/pat.c b/pat.c
index 56ad5ae..736ddc2 100644
--- a/pat.c
+++ b/pat.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: pat.c 2.11 2010/06/05 13:26:47 kls Exp $
+ * $Id: pat.c 2.13 2010/06/13 11:12:12 kls Exp $
*/
#include "pat.h"
@@ -332,7 +332,7 @@ void cPatFilter::Process(u_short Pid, u_char Tid, const u_char *Data, int Length
int Ppid = 0;
int Vtype = 0;
int Apids[MAXAPIDS + 1] = { 0 }; // these lists are zero-terminated
- int Atypes[MAXDPIDS + 1] = { 0 };
+ int Atypes[MAXAPIDS + 1] = { 0 };
int Dpids[MAXDPIDS + 1] = { 0 };
int Dtypes[MAXDPIDS + 1] = { 0 };
int Spids[MAXSPIDS + 1] = { 0 };
@@ -473,6 +473,7 @@ void cPatFilter::Process(u_short Pid, u_char Tid, const u_char *Data, int Length
}
if (NumDpids < MAXDPIDS) {
Dpids[NumDpids] = esPid;
+ Dtypes[NumDpids] = SI::AC3DescriptorTag;
strn0cpy(DLangs[NumDpids], lang, MAXLANGCODE1);
NumDpids++;
}
diff --git a/po/ar.po b/po/ar.po
new file mode 100644
index 0000000..82da18a
--- /dev/null
+++ b/po/ar.po
@@ -0,0 +1,1409 @@
+# VDR language source file.
+# Copyright (C) 2008 Osama Alrawab <alrawab@hotmail.com>
+# This file is distributed under the same license as the VDR package.
+# Osama Alrawab <alrawab@hotmail.com>, 2008
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: VDR 1.7.0\n"
+"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
+"POT-Creation-Date: 2010-09-12 13:37+0200\n"
+"PO-Revision-Date: 2008-10-16 11:16-0400\n"
+"Last-Translator: Osama Alrawab <alrawab@hotmail.com>\n"
+"Language-Team: Arabic <ar@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-Bookmarks: -1,-1,-1,-1,-1,-1,-1,-1,1249,-1\n"
+"X-Poedit-Language: Arabic\n"
+"X-Poedit-Country: LIBYA\n"
+"X-Generator: KBabel 1.11.4\n"
+
+msgid "*** Invalid Channel ***"
+msgstr "********قناة خاطئة***************"
+
+msgid "Channel not available!"
+msgstr "القناة غير متاحة"
+
+msgid "Can't start Transfer Mode!"
+msgstr "تعذر بدء طور النقل"
+
+msgid "off"
+msgstr "ايقاÙ"
+
+#, fuzzy
+msgid "on"
+msgstr "لا يوجد"
+
+msgid "auto"
+msgstr "ذاتى"
+
+msgid "none"
+msgstr "لا يوجد"
+
+msgid "Polarization"
+msgstr "الاستقطاب"
+
+msgid "System"
+msgstr ""
+
+msgid "Srate"
+msgstr "معدل الترميز"
+
+msgid "Inversion"
+msgstr "قلب"
+
+msgid "CoderateH"
+msgstr "تون عالى"
+
+msgid "CoderateL"
+msgstr "تون منخÙض"
+
+msgid "Modulation"
+msgstr "الترميز"
+
+msgid "Bandwidth"
+msgstr "العرض"
+
+msgid "Transmission"
+msgstr "الارسال"
+
+msgid "Guard"
+msgstr "الدرجة"
+
+msgid "Hierarchy"
+msgstr "الهرمية"
+
+#, fuzzy
+msgid "Rolloff"
+msgstr "ايقاÙ"
+
+msgid "Starting EPG scan"
+msgstr "EPG ا لبدء بالبحث على دليل القنوات الالكترونى "
+
+msgid "Content$Movie/Drama"
+msgstr ""
+
+msgid "Content$Detective/Thriller"
+msgstr ""
+
+msgid "Content$Adventure/Western/War"
+msgstr ""
+
+msgid "Content$Science Fiction/Fantasy/Horror"
+msgstr ""
+
+msgid "Content$Comedy"
+msgstr ""
+
+msgid "Content$Soap/Melodrama/Folkloric"
+msgstr ""
+
+msgid "Content$Romance"
+msgstr ""
+
+msgid "Content$Serious/Classical/Religious/Historical Movie/Drama"
+msgstr ""
+
+msgid "Content$Adult Movie/Drama"
+msgstr ""
+
+msgid "Content$News/Current Affairs"
+msgstr ""
+
+msgid "Content$News/Weather Report"
+msgstr ""
+
+msgid "Content$News Magazine"
+msgstr ""
+
+msgid "Content$Documentary"
+msgstr ""
+
+msgid "Content$Discussion/Inverview/Debate"
+msgstr ""
+
+msgid "Content$Show/Game Show"
+msgstr ""
+
+msgid "Content$Game Show/Quiz/Contest"
+msgstr ""
+
+msgid "Content$Variety Show"
+msgstr ""
+
+msgid "Content$Talk Show"
+msgstr ""
+
+msgid "Content$Sports"
+msgstr ""
+
+msgid "Content$Special Event"
+msgstr ""
+
+msgid "Content$Sport Magazine"
+msgstr ""
+
+msgid "Content$Football/Soccer"
+msgstr ""
+
+msgid "Content$Tennis/Squash"
+msgstr ""
+
+msgid "Content$Team Sports"
+msgstr ""
+
+msgid "Content$Athletics"
+msgstr ""
+
+msgid "Content$Motor Sport"
+msgstr ""
+
+msgid "Content$Water Sport"
+msgstr ""
+
+msgid "Content$Winter Sports"
+msgstr ""
+
+msgid "Content$Equestrian"
+msgstr ""
+
+msgid "Content$Martial Sports"
+msgstr ""
+
+msgid "Content$Children's/Youth Programme"
+msgstr ""
+
+msgid "Content$Pre-school Children's Programme"
+msgstr ""
+
+msgid "Content$Entertainment Programme for 6 to 14"
+msgstr ""
+
+msgid "Content$Entertainment Programme for 10 to 16"
+msgstr ""
+
+msgid "Content$Informational/Educational/School Programme"
+msgstr ""
+
+msgid "Content$Cartoons/Puppets"
+msgstr ""
+
+msgid "Content$Music/Ballet/Dance"
+msgstr ""
+
+msgid "Content$Rock/Pop"
+msgstr ""
+
+msgid "Content$Serious/Classical Music"
+msgstr ""
+
+msgid "Content$Folk/Tradional Music"
+msgstr ""
+
+msgid "Content$Jazz"
+msgstr ""
+
+msgid "Content$Musical/Opera"
+msgstr ""
+
+msgid "Content$Ballet"
+msgstr ""
+
+msgid "Content$Arts/Culture"
+msgstr ""
+
+msgid "Content$Performing Arts"
+msgstr ""
+
+msgid "Content$Fine Arts"
+msgstr ""
+
+msgid "Content$Religion"
+msgstr ""
+
+msgid "Content$Popular Culture/Traditional Arts"
+msgstr ""
+
+msgid "Content$Literature"
+msgstr ""
+
+msgid "Content$Film/Cinema"
+msgstr ""
+
+msgid "Content$Experimental Film/Video"
+msgstr ""
+
+msgid "Content$Broadcasting/Press"
+msgstr ""
+
+msgid "Content$New Media"
+msgstr ""
+
+msgid "Content$Arts/Culture Magazine"
+msgstr ""
+
+msgid "Content$Fashion"
+msgstr ""
+
+msgid "Content$Social/Political/Economics"
+msgstr ""
+
+msgid "Content$Magazine/Report/Documentary"
+msgstr ""
+
+msgid "Content$Economics/Social Advisory"
+msgstr ""
+
+msgid "Content$Remarkable People"
+msgstr ""
+
+msgid "Content$Education/Science/Factual"
+msgstr ""
+
+msgid "Content$Nature/Animals/Environment"
+msgstr ""
+
+msgid "Content$Technology/Natural Sciences"
+msgstr ""
+
+msgid "Content$Medicine/Physiology/Psychology"
+msgstr ""
+
+msgid "Content$Foreign Countries/Expeditions"
+msgstr ""
+
+msgid "Content$Social/Spiritual Sciences"
+msgstr ""
+
+msgid "Content$Further Education"
+msgstr ""
+
+#, fuzzy
+msgid "Content$Languages"
+msgstr "اللغة"
+
+msgid "Content$Leisure/Hobbies"
+msgstr ""
+
+msgid "Content$Tourism/Travel"
+msgstr ""
+
+msgid "Content$Handicraft"
+msgstr ""
+
+msgid "Content$Motoring"
+msgstr ""
+
+msgid "Content$Fitness & Health"
+msgstr ""
+
+msgid "Content$Cooking"
+msgstr ""
+
+msgid "Content$Advertisement/Shopping"
+msgstr ""
+
+msgid "Content$Gardening"
+msgstr ""
+
+msgid "Content$Original Language"
+msgstr ""
+
+msgid "Content$Black & White"
+msgstr ""
+
+msgid "Content$Unpublished"
+msgstr ""
+
+msgid "Content$Live Broadcast"
+msgstr ""
+
+#, c-format
+msgid "ParentalRating$from %d"
+msgstr ""
+
+msgid "No title"
+msgstr "لايوجد عنوان"
+
+#. TRANSLATORS: The name of the language, as written natively
+msgid "LanguageName$English"
+msgstr "Arabic"
+
+#. TRANSLATORS: The 3-letter code of the language
+msgid "LanguageCode$eng"
+msgstr "ara"
+
+msgid "Phase 1: Detecting RC code type"
+msgstr "التحقق من Ù…Ùاتيح وحدة التحكم"
+
+msgid "Press any key on the RC unit"
+msgstr "الرجاء الضغط على اى زر ÙÙ‰ وحدة التحكم"
+
+msgid "RC code detected!"
+msgstr "تم التعر٠على الكود المرسل من وحدة التحكم"
+
+msgid "Do not press any key..."
+msgstr "الرجاء عدم ضغط اى زر"
+
+msgid "Phase 2: Learning specific key codes"
+msgstr "الطور الثانى:تعري٠الرموز الخاصة بالمÙاتيح"
+
+#, c-format
+msgid "Press key for '%s'"
+msgstr "%sالرجاء الضغط على الزر"
+
+msgid "Press 'Up' to confirm"
+msgstr "اضغط اعلى للتاكيد"
+
+msgid "Press 'Down' to continue"
+msgstr "اضغط اسÙÙ„ للاستمرار"
+
+msgid "(press 'Up' to go back)"
+msgstr "(اضغط اعلى للرجوع للخلÙ)"
+
+msgid "(press 'Down' to end key definition)"
+msgstr "(اضغط اسÙÙ„ للانتهاء نت تعري٠المÙاتيح)"
+
+msgid "(press 'Menu' to skip this key)"
+msgstr "(اضغط قائمة لتخطى هذا المÙتاح)"
+
+msgid "Learning Remote Control Keys"
+msgstr "التعر٠على Ù…Ùاتيح وحدة التحكم عن بعد"
+
+msgid "Phase 3: Saving key codes"
+msgstr "المرحلة الثالثة:Ø­Ùظ اكواد المÙاتيح"
+
+msgid "Press 'Up' to save, 'Down' to cancel"
+msgstr "اضغط اعلى للحÙظ او اسÙÙ„ للالغاء"
+
+msgid "Key$Up"
+msgstr "اعلى"
+
+msgid "Key$Down"
+msgstr "اسÙÙ„"
+
+msgid "Key$Menu"
+msgstr "القائمة"
+
+msgid "Key$Ok"
+msgstr "تاكيد"
+
+msgid "Key$Back"
+msgstr "رجوع"
+
+msgid "Key$Left"
+msgstr "يسار"
+
+msgid "Key$Right"
+msgstr "يمين"
+
+msgid "Key$Red"
+msgstr "احمر"
+
+msgid "Key$Green"
+msgstr "اخضر"
+
+msgid "Key$Yellow"
+msgstr "اصÙر"
+
+msgid "Key$Blue"
+msgstr "ازرق"
+
+msgid "Key$Info"
+msgstr "معلومات"
+
+msgid "Key$Play"
+msgstr "عرض"
+
+msgid "Key$Pause"
+msgstr "تجميد"
+
+msgid "Key$Stop"
+msgstr "ايقاÙ"
+
+msgid "Key$Record"
+msgstr "تسجيل"
+
+msgid "Key$FastFwd"
+msgstr "تقدم سريع"
+
+msgid "Key$FastRew"
+msgstr "رجوع سريع"
+
+msgid "Key$Next"
+msgstr "التالى"
+
+msgid "Key$Prev"
+msgstr "السابق"
+
+msgid "Key$Power"
+msgstr "تشغيل"
+
+msgid "Key$Channel+"
+msgstr "قناة +"
+
+msgid "Key$Channel-"
+msgstr "قناة -"
+
+msgid "Key$PrevChannel"
+msgstr "القناة السابقة"
+
+msgid "Key$Volume+"
+msgstr "صوت +"
+
+msgid "Key$Volume-"
+msgstr "صوت -"
+
+msgid "Key$Mute"
+msgstr "طمس"
+
+msgid "Key$Audio"
+msgstr "الصوت"
+
+msgid "Key$Subtitles"
+msgstr "ترجمة"
+
+msgid "Key$Schedule"
+msgstr "جدولة"
+
+msgid "Key$Channels"
+msgstr "قنوات"
+
+msgid "Key$Timers"
+msgstr "الموءقت"
+
+msgid "Key$Recordings"
+msgstr "البدء بالتسجيل"
+
+msgid "Key$Setup"
+msgstr "الاعدادات"
+
+msgid "Key$Commands"
+msgstr "اوامر"
+
+#, fuzzy
+msgid "Key$User0"
+msgstr "المستخدم 1"
+
+msgid "Key$User1"
+msgstr "المستخدم 1"
+
+msgid "Key$User2"
+msgstr "المستخدم 2"
+
+msgid "Key$User3"
+msgstr "المستخدم 3"
+
+msgid "Key$User4"
+msgstr "المستخدم 4"
+
+msgid "Key$User5"
+msgstr "المستخدم 5 "
+
+msgid "Key$User6"
+msgstr "المستخدم 6 "
+
+msgid "Key$User7"
+msgstr "المستخدم 7"
+
+msgid "Key$User8"
+msgstr "المستخدم 8"
+
+msgid "Key$User9"
+msgstr "المستخدم 9"
+
+msgid "Disk"
+msgstr "القرص الصلب"
+
+msgid "free"
+msgstr "مساحة حرة"
+
+msgid "Free To Air"
+msgstr "غير مشÙر"
+
+msgid "encrypted"
+msgstr "مشÙر"
+
+msgid "Edit channel"
+msgstr "تعديل القناة"
+
+msgid "Name"
+msgstr "الاسم"
+
+msgid "Source"
+msgstr "المصدر"
+
+msgid "Frequency"
+msgstr "التردد"
+
+msgid "Vpid"
+msgstr "PID الÙيديو"
+
+msgid "Ppid"
+msgstr "PID Pcr"
+
+msgid "Apid1"
+msgstr "PID الصوت"
+
+msgid "Apid2"
+msgstr "PID الصوت 2"
+
+msgid "Dpid1"
+msgstr ""
+
+msgid "Dpid2"
+msgstr ""
+
+msgid "Spid1"
+msgstr ""
+
+msgid "Spid2"
+msgstr ""
+
+msgid "Tpid"
+msgstr ""
+
+msgid "CA"
+msgstr "الكامة"
+
+msgid "Sid"
+msgstr ""
+
+msgid "Channel settings are not unique!"
+msgstr "اعدادات القناة غبر موحد"
+
+msgid "Channels"
+msgstr "القنوات"
+
+msgid "Button$Edit"
+msgstr "اعدادات"
+
+msgid "Button$New"
+msgstr "جديد"
+
+msgid "Button$Delete"
+msgstr "حذÙ"
+
+msgid "Button$Mark"
+msgstr "علامة"
+
+msgid "Channel is being used by a timer!"
+msgstr "القناة مستخدمة من قبل الموءقت"
+
+msgid "Delete channel?"
+msgstr "حذ٠القناة"
+
+#, fuzzy
+msgid "Edit folder"
+msgstr "تعديل الموءقت"
+
+msgid "New folder"
+msgstr ""
+
+msgid "Sub folder"
+msgstr ""
+
+msgid "Folder name already exists!"
+msgstr ""
+
+#, c-format
+msgid "Folder name must not contain '%c'!"
+msgstr ""
+
+#, fuzzy
+msgid "Button$Select"
+msgstr "حذÙ"
+
+msgid "Delete folder and all sub folders?"
+msgstr ""
+
+#, fuzzy
+msgid "Delete folder?"
+msgstr "الغاء الموءقت"
+
+msgid "Edit timer"
+msgstr "تعديل الموءقت"
+
+msgid "Active"
+msgstr "نشط"
+
+msgid "Channel"
+msgstr "القناة"
+
+msgid "Day"
+msgstr "يوم"
+
+msgid "Start"
+msgstr "بدء"
+
+msgid "Stop"
+msgstr "ايقاÙ"
+
+msgid "VPS"
+msgstr ""
+
+msgid "Priority"
+msgstr "الاستقطاب"
+
+msgid "Lifetime"
+msgstr "معدل البقاء"
+
+msgid "File"
+msgstr "ملÙ"
+
+#, fuzzy
+msgid "Button$Folder"
+msgstr "الموءقت"
+
+msgid "First day"
+msgstr "اليوم الاول"
+
+msgid "Select folder"
+msgstr ""
+
+msgid "Timers"
+msgstr "الموءقت"
+
+msgid "Button$On/Off"
+msgstr "تشغيل/ايقاÙ"
+
+msgid "Button$Info"
+msgstr "معلومات"
+
+msgid "Delete timer?"
+msgstr "الغاء الموءقت"
+
+msgid "Timer still recording - really delete?"
+msgstr "الموءقت يقوم بالتسجيل هل تريد الالغاء ?"
+
+msgid "Event"
+msgstr "الحدث"
+
+msgid "Button$Timer"
+msgstr "الموءقت"
+
+msgid "Button$Record"
+msgstr "التسجيل"
+
+msgid "Button$Switch"
+msgstr "تبديل"
+
+msgid "What's on now?"
+msgstr "ماذا يوجد الان"
+
+msgid "What's on next?"
+msgstr "ما التالى"
+
+msgid "Button$Next"
+msgstr "التالى"
+
+msgid "Button$Now"
+msgstr "الان"
+
+msgid "Button$Schedule"
+msgstr "جدولة"
+
+msgid "Can't switch channel!"
+msgstr "لا يمكن تبديل القناة"
+
+#, c-format
+msgid "Schedule - %s"
+msgstr "%sجدولة"
+
+#, c-format
+msgid "This event - %s"
+msgstr " %sهذا الحدث"
+
+msgid "This event - all channels"
+msgstr "هذا الحدث لكل القنوات"
+
+msgid "All events - all channels"
+msgstr "جميع الاحداث لجميع القنوات"
+
+#, c-format
+msgid "Please enter %d digits!"
+msgstr "الرجاء ادخال %d رقم!"
+
+msgid "CAM not responding!"
+msgstr "الكامة لا تستجيب"
+
+msgid "Recording info"
+msgstr "معلومات التسجبل"
+
+msgid "Button$Play"
+msgstr "عرض"
+
+msgid "Button$Rewind"
+msgstr "اعادة"
+
+msgid "Recordings"
+msgstr "التسجيلات"
+
+msgid "Button$Open"
+msgstr "اÙتح"
+
+msgid "Commands"
+msgstr "الاوامر"
+
+msgid "Error while accessing recording!"
+msgstr "حدث خطاء عند محاولة الوصول لتسجيلات"
+
+msgid "Delete recording?"
+msgstr "حذ٠التسجيل"
+
+msgid "Error while deleting recording!"
+msgstr "حدث خطاء عند محاولة حذ٠التسجيل"
+
+msgid "Recording commands"
+msgstr "اوامر التسجيل"
+
+msgid "never"
+msgstr "ابدا"
+
+msgid "skin dependent"
+msgstr "متوق٠على نوع الثوب"
+
+msgid "always"
+msgstr "دائما"
+
+msgid "OSD"
+msgstr "عرص على الشاشة"
+
+msgid "Setup.OSD$Language"
+msgstr "اللغة"
+
+msgid "Setup.OSD$Skin"
+msgstr " الثوب"
+
+msgid "Setup.OSD$Theme"
+msgstr " الثيمة"
+
+#, fuzzy
+msgid "Setup.OSD$Left (%)"
+msgstr "يسار"
+
+#, fuzzy
+msgid "Setup.OSD$Top (%)"
+msgstr "الى اعلى"
+
+#, fuzzy
+msgid "Setup.OSD$Width (%)"
+msgstr "العرض"
+
+#, fuzzy
+msgid "Setup.OSD$Height (%)"
+msgstr "ارتÙاع"
+
+msgid "Setup.OSD$Message time (s)"
+msgstr "مواقيت الرسائل"
+
+msgid "Setup.OSD$Use small font"
+msgstr "استعمل خط صغير"
+
+msgid "Setup.OSD$Anti-alias"
+msgstr "محدد الحواÙ"
+
+msgid "Setup.OSD$Default font"
+msgstr "الخط الاÙتراضى"
+
+msgid "Setup.OSD$Small font"
+msgstr "الخط صغير"
+
+msgid "Setup.OSD$Fixed font"
+msgstr "الخط ثابت"
+
+#, fuzzy
+msgid "Setup.OSD$Default font size (%)"
+msgstr " حجم الخط الاÙتراضى"
+
+#, fuzzy
+msgid "Setup.OSD$Small font size (%)"
+msgstr "حجم الخط الصغير"
+
+#, fuzzy
+msgid "Setup.OSD$Fixed font size (%)"
+msgstr "حجم الخط الثابت"
+
+msgid "Setup.OSD$Channel info position"
+msgstr " موضع معلومات القناة"
+
+msgid "bottom"
+msgstr "اسÙÙ„"
+
+msgid "top"
+msgstr "الى اعلى"
+
+msgid "Setup.OSD$Channel info time (s)"
+msgstr "مدة معلومات القناة"
+
+msgid "Setup.OSD$Info on channel switch"
+msgstr "معلومات القناة عند تبديل القنوات"
+
+msgid "Setup.OSD$Timeout requested channel info"
+msgstr "مدة انتهاء معلومات القنات"
+
+msgid "Setup.OSD$Scroll pages"
+msgstr "تقليب الصÙحات"
+
+msgid "Setup.OSD$Scroll wraps"
+msgstr "طى الصÙحات"
+
+msgid "Setup.OSD$Menu key closes"
+msgstr "زر اغلاق القاائمة"
+
+msgid "Setup.OSD$Recording directories"
+msgstr "مجلد التسجيلات"
+
+#, fuzzy
+msgid "Setup.OSD$Folders in timer menu"
+msgstr "مدة معلومات القناة"
+
+#, fuzzy
+msgid "Setup.OSD$Number keys for characters"
+msgstr "زر اغلاق القاائمة"
+
+msgid "EPG"
+msgstr "الدليل الالكتونى للقنوات"
+
+msgid "Button$Scan"
+msgstr "بحث"
+
+msgid "Setup.EPG$EPG scan timeout (h)"
+msgstr "اﻻنتهاء من البحث على الدليل الالكترونى للقنوات"
+
+msgid "Setup.EPG$EPG bugfix level"
+msgstr " معدل اصلاح اخطاء الدليل الالكترونى"
+
+msgid "Setup.EPG$EPG linger time (min)"
+msgstr "اقل مدة للدليل الالكترونى"
+
+msgid "Setup.EPG$Set system time"
+msgstr "اعداد توقيت النظام"
+
+msgid "Setup.EPG$Use time from transponder"
+msgstr "الحصول على التوقيت من القناة"
+
+#. TRANSLATORS: note the plural!
+msgid "Setup.EPG$Preferred languages"
+msgstr "اللغة المÙضلة"
+
+#. TRANSLATORS: note the singular!
+msgid "Setup.EPG$Preferred language"
+msgstr "اللغة المقضلة"
+
+msgid "pan&scan"
+msgstr "بحث Ø®ÙÙŠÙ"
+
+msgid "letterbox"
+msgstr "صندوق الحروÙ"
+
+msgid "center cut out"
+msgstr "قص من الوسط"
+
+msgid "no"
+msgstr "ï»»"
+
+msgid "names only"
+msgstr "الاسماء Ùقط"
+
+msgid "PIDs only"
+msgstr "Ùقط PID"
+
+msgid "names and PIDs"
+msgstr "الاسماء و PID"
+
+msgid "add new channels"
+msgstr "اضاÙØ© قناة جديدة"
+
+msgid "add new transponders"
+msgstr "اضاÙØ© مصدر قنوات جديد"
+
+msgid "DVB"
+msgstr "الدى ÙÙ‰ بى"
+
+msgid "Setup.DVB$Primary DVB interface"
+msgstr "كرت الستالايت الاولى"
+
+msgid "Setup.DVB$Video format"
+msgstr "نوع الÙيديو "
+
+msgid "Setup.DVB$Video display format"
+msgstr "نوع عرض الÙديو"
+
+msgid "Setup.DVB$Use Dolby Digital"
+msgstr "دولبى رقمى"
+
+msgid "Setup.DVB$Update channels"
+msgstr "تحديث القنوات"
+
+msgid "Setup.DVB$Audio languages"
+msgstr "لغات الصوت"
+
+msgid "Setup.DVB$Audio language"
+msgstr "لغة الصوت"
+
+msgid "Setup.DVB$Display subtitles"
+msgstr "عرض الترجمة"
+
+msgid "Setup.DVB$Subtitle languages"
+msgstr "لغات الترجمة"
+
+msgid "Setup.DVB$Subtitle language"
+msgstr "لغة الترجمة"
+
+msgid "Setup.DVB$Subtitle offset"
+msgstr "معدل انحرا٠الترجمة"
+
+msgid "Setup.DVB$Subtitle foreground transparency"
+msgstr "درجة Ø´ÙاÙية الترجمة"
+
+msgid "Setup.DVB$Subtitle background transparency"
+msgstr "Ø´ÙاÙية الخلÙية"
+
+msgid "LNB"
+msgstr "الاقط"
+
+msgid "Setup.LNB$Use DiSEqC"
+msgstr " DiSEqC استعمل"
+
+msgid "Setup.LNB$SLOF (MHz)"
+msgstr "التذبذب المحلى للاقط م هرتز"
+
+msgid "Setup.LNB$Low LNB frequency (MHz)"
+msgstr "التردد المنخÙض للاقط Ù… هرتز"
+
+msgid "Setup.LNB$High LNB frequency (MHz)"
+msgstr "التردد المرتÙع للاقط Ù… هرتز"
+
+msgid "CAM reset"
+msgstr "اعادة تشغيل الكامة"
+
+msgid "CAM present"
+msgstr "الكامة موجودة"
+
+msgid "CAM ready"
+msgstr "الكامة جاهزة"
+
+msgid "CAM"
+msgstr "الكامة "
+
+msgid "Button$Menu"
+msgstr "القائمة"
+
+msgid "Button$Reset"
+msgstr "اعد الضبط"
+
+msgid "Opening CAM menu..."
+msgstr "Ùتح قائمة الكامة"
+
+msgid "Can't open CAM menu!"
+msgstr "تعذر Ùتح قائمة الكامة"
+
+msgid "CAM is in use - really reset?"
+msgstr "الكامة مستخدمة الان هل تريد اعادة تشغيلها"
+
+msgid "Can't reset CAM!"
+msgstr "تعذر اعادة تشغيل الكامة"
+
+#, fuzzy
+msgid "do not pause live video"
+msgstr "تجميد العرض الحى"
+
+#, fuzzy
+msgid "confirm pause live video"
+msgstr "تجميد العرض الحى"
+
+#, fuzzy
+msgid "pause live video"
+msgstr "تجميد العرض الحى"
+
+msgid "confirm"
+msgstr ""
+
+msgid "yes"
+msgstr "نعم"
+
+msgid "Recording"
+msgstr "تسجيل"
+
+msgid "Setup.Recording$Margin at start (min)"
+msgstr ""
+
+msgid "Setup.Recording$Margin at stop (min)"
+msgstr ""
+
+msgid "Setup.Recording$Primary limit"
+msgstr "الحدود الابتدائية"
+
+msgid "Setup.Recording$Default priority"
+msgstr "الاولويات الاÙتراضية"
+
+msgid "Setup.Recording$Default lifetime (d)"
+msgstr "معدل البقاء باليوم"
+
+#, fuzzy
+msgid "Setup.Recording$Pause key handling"
+msgstr "معدل الايقا٠باليوم"
+
+msgid "Setup.Recording$Pause priority"
+msgstr "تعطيل الاولويات"
+
+msgid "Setup.Recording$Pause lifetime (d)"
+msgstr "معدل الايقا٠باليوم"
+
+msgid "Setup.Recording$Use episode name"
+msgstr "استخدم اسم المرحلة"
+
+msgid "Setup.Recording$Use VPS"
+msgstr "استعمل VPS"
+
+msgid "Setup.Recording$VPS margin (s)"
+msgstr ""
+
+msgid "Setup.Recording$Mark instant recording"
+msgstr "علم التسجيل الÙورى"
+
+msgid "Setup.Recording$Name instant recording"
+msgstr "اسم التسجيل الÙورى"
+
+msgid "Setup.Recording$Instant rec. time (min)"
+msgstr "مدة التسجيل الÙورى بالدقيقة"
+
+msgid "Setup.Recording$Max. video file size (MB)"
+msgstr "اقصى حجم لمل٠الÙيديو ب Ù… ب"
+
+msgid "Setup.Recording$Split edited files"
+msgstr "اقسم المل٠المعدل"
+
+#, fuzzy
+msgid "Setup.Recording$Delete timeshift recording"
+msgstr "اسم التسجيل الÙورى"
+
+msgid "Replay"
+msgstr "اعادة عرض"
+
+msgid "Setup.Replay$Multi speed mode"
+msgstr "موءقت النوم"
+
+msgid "Setup.Replay$Show replay mode"
+msgstr "اضهر طور الاعادة"
+
+msgid "Setup.Replay$Resume ID"
+msgstr "رقم المواصلة"
+
+msgid "Miscellaneous"
+msgstr "متÙرقات"
+
+msgid "Setup.Miscellaneous$Min. event timeout (min)"
+msgstr "مدة انتهاء الحدث بالدقيقة"
+
+msgid "Setup.Miscellaneous$Min. user inactivity (min)"
+msgstr "اقل مدة لعدم تÙاعل المستخدم بالدقيقة"
+
+msgid "Setup.Miscellaneous$SVDRP timeout (s)"
+msgstr ""
+
+msgid "Setup.Miscellaneous$Zap timeout (s)"
+msgstr ""
+
+msgid "Setup.Miscellaneous$Channel entry timeout (ms)"
+msgstr "مدة انتهاء مدخلات القناة بالدقيقة"
+
+msgid "Setup.Miscellaneous$Initial channel"
+msgstr "القناة الاساسية"
+
+msgid "Setup.Miscellaneous$as before"
+msgstr "كسابق"
+
+msgid "Setup.Miscellaneous$Initial volume"
+msgstr "Ùعل الصوت"
+
+#, fuzzy
+msgid "Setup.Miscellaneous$Channels wrap"
+msgstr "كسابق"
+
+msgid "Setup.Miscellaneous$Emergency exit"
+msgstr "خروج طارىء"
+
+msgid "Plugins"
+msgstr "الملحقات"
+
+msgid "This plugin has no setup parameters!"
+msgstr "هذا الملحق لا يوجد له اعادات خاصة"
+
+msgid "Setup"
+msgstr "الاعدادات"
+
+msgid "Restart"
+msgstr "اعادة تشغيل"
+
+msgid "Really restart?"
+msgstr "هل حقا تريد اعادة التشغيل"
+
+#. TRANSLATORS: note the leading and trailing blanks!
+msgid " Stop recording "
+msgstr " ايقا٠التسجيل "
+
+msgid "Schedule"
+msgstr "جدولة"
+
+msgid "VDR"
+msgstr ""
+
+#. TRANSLATORS: note the leading blank!
+msgid " Stop replaying"
+msgstr " ايقا٠الاعادة"
+
+msgid "Button$Audio"
+msgstr "الصوت"
+
+msgid "Button$Pause"
+msgstr "طمس"
+
+msgid "Button$Stop"
+msgstr "ايقاÙ"
+
+msgid "Button$Resume"
+msgstr "مواصلة"
+
+#. TRANSLATORS: note the leading blank!
+msgid " Cancel editing"
+msgstr " تعديل القناة"
+
+msgid "Stop recording?"
+msgstr "ايقا٠التسجيل"
+
+msgid "Cancel editing?"
+msgstr "الغاء التعديل"
+
+msgid "No audio available!"
+msgstr "لا يوجد صوت متاح"
+
+msgid "No subtitles"
+msgstr "لا توجد ترجمة متاحة"
+
+msgid "Button$Subtitles"
+msgstr "الترجمة"
+
+msgid "No subtitles available!"
+msgstr "لا ترجمة متاحة"
+
+msgid "Not enough disk space to start recording!"
+msgstr "لا يوجد مساحة كاÙية على القرص الصلب لبدء التسجيل"
+
+msgid "No free DVB device to record!"
+msgstr "لا يوجد كرت ستالايت متاح ليتم التسجيل"
+
+msgid "Pausing live video..."
+msgstr "تجميد العرض الحى"
+
+#, fuzzy
+msgid "Delete timeshift recording?"
+msgstr "حذ٠التسجيل"
+
+#. TRANSLATORS: note the trailing blank!
+msgid "Jump: "
+msgstr "اقÙز الى "
+
+msgid "No editing marks defined!"
+msgstr "لاتوجد علامات تعديل معرÙØ©"
+
+msgid "Can't start editing process!"
+msgstr "لا يمكن البدء ÙÙ‰ عملية التعديل"
+
+msgid "Editing process started"
+msgstr "البدء ÙÙ‰ التعديل"
+
+msgid "Editing process already active!"
+msgstr "عملية التعديل نشطة بالÙعل"
+
+msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
+msgstr ""
+
+msgid "CharMap$ 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9"
+msgstr ""
+
+msgid "Button$ABC/abc"
+msgstr ""
+
+msgid "Button$Overwrite"
+msgstr "اعادة الكتابة"
+
+msgid "Button$Insert"
+msgstr "ادراج"
+
+msgid "Plugin"
+msgstr "الملحق"
+
+msgid "Up/Dn for new location - OK to move"
+msgstr "اعلى او اسÙÙ„ Ù„ الموضع الجديد Ùˆ مواÙÙ‚ للتحريك"
+
+msgid "Channel locked (recording)!"
+msgstr "القناة مقÙلة للتسجيل"
+
+msgid "Low disk space!"
+msgstr "مساحة القرص غير كاÙية"
+
+msgid "Regenerating index file"
+msgstr ""
+
+msgid "Index file regeneration complete"
+msgstr ""
+
+msgid "Can't shutdown - option '-s' not given!"
+msgstr "لا يمكن Ù‚ÙÙ„ الحاسوب الرمز s لم يحدد"
+
+msgid "Editing - shut down anyway?"
+msgstr "قم باغلاق الحاسوب على اى حال"
+
+msgid "Recording - shut down anyway?"
+msgstr "اغلق الحاسوب"
+
+#, c-format
+msgid "Recording in %ld minutes, shut down anyway?"
+msgstr "تم تسجيل %ld دقيقة سيتم الاغلاق على اى حال"
+
+msgid "shut down anyway?"
+msgstr "الاغلاق على اى حال"
+
+#, c-format
+msgid "Plugin %s wakes up in %ld min, continue?"
+msgstr ""
+
+msgid "Editing - restart anyway?"
+msgstr ""
+
+msgid "Recording - restart anyway?"
+msgstr ""
+
+msgid "restart anyway?"
+msgstr ""
+
+#. TRANSLATORS: note the trailing blank!
+msgid "Volume "
+msgstr "الصوت "
+
+msgid "Classic VDR"
+msgstr "VDR تقليدى "
+
+msgid "ST:TNG Panels"
+msgstr "ST:TNG شاشة "
+
+#. TRANSLATORS: the first character of each weekday, beginning with monday
+msgid "MTWTFSS"
+msgstr ""
+
+#. TRANSLATORS: abbreviated weekdays, beginning with monday (must all be 3 letters!)
+msgid "MonTueWedThuFriSatSun"
+msgstr ""
+
+msgid "Monday"
+msgstr "الاحد"
+
+msgid "Tuesday"
+msgstr "الاثنين"
+
+msgid "Wednesday"
+msgstr "الاربعاء"
+
+msgid "Thursday"
+msgstr "الثلاثاء"
+
+msgid "Friday"
+msgstr "الجمعة"
+
+msgid "Saturday"
+msgstr "السبت"
+
+msgid "Sunday"
+msgstr "الاحد"
+
+msgid "Upcoming recording!"
+msgstr ""
+
+#, fuzzy
+msgid "Pause live video?"
+msgstr "تجميد العرض الحى"
+
+msgid "Recording started"
+msgstr "ابتداء التسجيل"
+
+msgid "VDR will shut down later - press Power to force"
+msgstr "البرنامج سيقوم بالاغلاق لاحقا اضغط زر القÙÙ„ لاتمام عملية الاغلاق"
+
+msgid "Press any key to cancel shutdown"
+msgstr "اضغط اى زر لالغاء اقÙال البرنامج"
+
+msgid "Switching primary DVB..."
+msgstr "تم الانتقال لكرت الستالايت الاÙتراضى"
+
+msgid "Editing process failed!"
+msgstr "تم Ùشل عملية التعديل"
+
+msgid "Editing process finished"
+msgstr "تم الانتهاء من التعديل"
+
+msgid "Press any key to cancel restart"
+msgstr "اضغط اى زر لالغاء اعادة التشغيل"
+
+#, c-format
+msgid "VDR will shut down in %s minutes"
+msgstr "البرنامج سيقوم بالاغلاق بعد%s دقيقة "
+
+#~ msgid "Path"
+#~ msgstr "المسار"
+
+#~ msgid "Timer commands"
+#~ msgstr "اوامر الموءقت"
+
+#~ msgid "Rename recording"
+#~ msgstr "اعادة تسمية التسجيل"
+
+#~ msgid "Date"
+#~ msgstr "التاريخ"
+
+#~ msgid "Length"
+#~ msgstr "الطول"
+
+#~ msgid "Size"
+#~ msgstr "الحجم"
+
+#~ msgid "Delete marks information?"
+#~ msgstr "حذ٠معلومات العلامة"
+
+#~ msgid "Delete resume information?"
+#~ msgstr "حذ٠معلومات المواصلة"
+
+#~ msgid "Setup.OSD$Main menu command position"
+#~ msgstr "موضع اوامر القائمة الرئسية"
+
+#~ msgid "Setup.EPG$Show progress bar"
+#~ msgstr "اضهار شريط التقدم"
+
+#~ msgid "Setup.Recording$Max. recording size (GB)"
+#~ msgstr "اقصى حجم للتسجيل م ب"
+
+#~ msgid "Setup.Recording$Hard Link Cutter"
+#~ msgstr "قاطع وصلات الاختصرات"
+
+#~ msgid "Setup.Recording$Show date"
+#~ msgstr "اظهر التاريخ"
+
+#~ msgid "Setup.Recording$Show time"
+#~ msgstr "اظهر تاريخ التعديل"
+
+#~ msgid "Setup.Recording$Show length"
+#~ msgstr "اظهر VPS"
+
+#~ msgid "Rename$Up"
+#~ msgstr "اعلى"
+
+#~ msgid "Rename$Down"
+#~ msgstr "اسÙÙ„"
+
+#~ msgid "Rename$Previous"
+#~ msgstr "السابق"
+
+#~ msgid "Rename$Next"
+#~ msgstr "التالى"
diff --git a/po/fi_FI.po b/po/fi_FI.po
index cd57e7c..477c7db 100644
--- a/po/fi_FI.po
+++ b/po/fi_FI.po
@@ -843,7 +843,7 @@ msgid "Setup.OSD$Folders in timer menu"
msgstr "Näytä kansiot ajastinvalikossa"
msgid "Setup.OSD$Number keys for characters"
-msgstr ""
+msgstr "Käytä numeronäppäimiä tekstisyötteessä"
msgid "EPG"
msgstr "Ohjelmaopas"
diff --git a/po/it_IT.po b/po/it_IT.po
index 89d4237..0ca9025 100644
--- a/po/it_IT.po
+++ b/po/it_IT.po
@@ -12,7 +12,7 @@ msgstr ""
"Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-06-06 12:52+0200\n"
-"PO-Revision-Date: 2010-03-28 22:49+0100\n"
+"PO-Revision-Date: 2010-06-13 00:30+0100\n"
"Last-Translator: Diego Pierotto <vdr-italian@tiscali.it>\n"
"Language-Team: Italian\n"
"MIME-Version: 1.0\n"
@@ -847,7 +847,7 @@ msgid "Setup.OSD$Folders in timer menu"
msgstr "Cartelle nel menu timer"
msgid "Setup.OSD$Number keys for characters"
-msgstr ""
+msgstr "Tasti numerici per i caratteri"
msgid "EPG"
msgstr "Guida programmi EPG"
diff --git a/po/pt_PT.po b/po/pt_PT.po
index 0510d9d..45507a8 100644
--- a/po/pt_PT.po
+++ b/po/pt_PT.po
@@ -2,14 +2,15 @@
# Copyright (C) 2008 Klaus Schmidinger <kls@tvdr.de>
# This file is distributed under the same license as the VDR package.
# Paulo Lopes <pmml@netvita.pt>, 2001
+# Cris Silva <hudokkow@gmail.com>, 2010
#
msgid ""
msgstr ""
-"Project-Id-Version: VDR 1.6.0\n"
+"Project-Id-Version: VDR 1.7.15\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-06-06 12:52+0200\n"
-"PO-Revision-Date: 2008-03-18 17:04+0100\n"
-"Last-Translator: anonymous\n"
+"PO-Revision-Date: 2010-03-28 22:49+0100\n"
+"Last-Translator: Cris Silva <hudokkow@gmail.com>\n"
"Language-Team: Portuguese\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-1\n"
@@ -19,7 +20,7 @@ msgid "*** Invalid Channel ***"
msgstr "*** Canal inválido ***"
msgid "Channel not available!"
-msgstr "Canal indisponivel!"
+msgstr "Canal indisponível!"
msgid "Can't start Transfer Mode!"
msgstr "Impossível iniciar modo de transferência!"
@@ -28,10 +29,10 @@ msgid "off"
msgstr "off"
msgid "on"
-msgstr ""
+msgstr "on"
msgid "auto"
-msgstr "Automático"
+msgstr "automático"
msgid "none"
msgstr "nenhum"
@@ -40,10 +41,10 @@ msgid "Polarization"
msgstr "Polarização"
msgid "System"
-msgstr ""
+msgstr "Sistema"
msgid "Srate"
-msgstr "Srate"
+msgstr "SymbolRate"
msgid "Inversion"
msgstr "Inversão"
@@ -58,263 +59,263 @@ msgid "Modulation"
msgstr "Modulação"
msgid "Bandwidth"
-msgstr "Bandwidth"
+msgstr "Largura de banda"
msgid "Transmission"
msgstr "Transmissão"
msgid "Guard"
-msgstr "Guard"
+msgstr "Guarda"
msgid "Hierarchy"
msgstr "Hierarquia"
msgid "Rolloff"
-msgstr ""
+msgstr "Rolloff"
msgid "Starting EPG scan"
-msgstr "Iniciar a procura de EPG"
+msgstr "A iniciar a busca do EPG"
msgid "Content$Movie/Drama"
-msgstr ""
+msgstr "Filme/Drama"
msgid "Content$Detective/Thriller"
-msgstr ""
+msgstr "Policial/Thriller"
msgid "Content$Adventure/Western/War"
-msgstr ""
+msgstr "Aventura/Western/Guerra"
msgid "Content$Science Fiction/Fantasy/Horror"
-msgstr ""
+msgstr "Ficção Científica/Fantasia/Horror"
msgid "Content$Comedy"
-msgstr ""
+msgstr "Comédia"
msgid "Content$Soap/Melodrama/Folkloric"
-msgstr ""
+msgstr "Novela/Melodrama/Folclórico"
msgid "Content$Romance"
-msgstr ""
+msgstr "Romance"
msgid "Content$Serious/Classical/Religious/Historical Movie/Drama"
-msgstr ""
+msgstr "Sério/Clássico/Religioso/Histórico/Drama"
msgid "Content$Adult Movie/Drama"
-msgstr ""
+msgstr "Filme para adultos/Drama"
msgid "Content$News/Current Affairs"
-msgstr ""
+msgstr "Notícias/Última Hora"
msgid "Content$News/Weather Report"
-msgstr ""
+msgstr "Notícias/Meteorologia"
msgid "Content$News Magazine"
-msgstr ""
+msgstr "Noticiário"
msgid "Content$Documentary"
-msgstr ""
+msgstr "Documentário"
msgid "Content$Discussion/Inverview/Debate"
-msgstr ""
+msgstr "Discussão/Entrevista/Debate"
msgid "Content$Show/Game Show"
-msgstr ""
+msgstr "Espectáculo/Concurso"
msgid "Content$Game Show/Quiz/Contest"
-msgstr ""
+msgstr "Concurso"
msgid "Content$Variety Show"
-msgstr ""
+msgstr "Espectáculo de variedades"
msgid "Content$Talk Show"
-msgstr ""
+msgstr "Entrevista"
msgid "Content$Sports"
-msgstr ""
+msgstr "Desporto"
msgid "Content$Special Event"
-msgstr ""
+msgstr "Evento especial"
msgid "Content$Sport Magazine"
-msgstr ""
+msgstr "Magazine de desporto"
msgid "Content$Football/Soccer"
-msgstr ""
+msgstr "Futebol"
msgid "Content$Tennis/Squash"
-msgstr ""
+msgstr "Tenis/Squash"
msgid "Content$Team Sports"
-msgstr ""
+msgstr "Desportos colectivos"
msgid "Content$Athletics"
-msgstr ""
+msgstr "Atletismo"
msgid "Content$Motor Sport"
-msgstr ""
+msgstr "Desportos motorizados"
msgid "Content$Water Sport"
-msgstr ""
+msgstr "Desportos aquáticos"
msgid "Content$Winter Sports"
-msgstr ""
+msgstr "Desportos de Inverno"
msgid "Content$Equestrian"
-msgstr ""
+msgstr "Equitação"
msgid "Content$Martial Sports"
-msgstr ""
+msgstr "Artes marciais"
msgid "Content$Children's/Youth Programme"
-msgstr ""
+msgstr "Programa infanto-juvenil"
msgid "Content$Pre-school Children's Programme"
-msgstr ""
+msgstr "Programa infantil"
msgid "Content$Entertainment Programme for 6 to 14"
-msgstr ""
+msgstr "Programa de entretenimento dos 6 aos 14"
msgid "Content$Entertainment Programme for 10 to 16"
-msgstr ""
+msgstr "Programa de entretenimento dos 10 aos 16"
msgid "Content$Informational/Educational/School Programme"
-msgstr ""
+msgstr "Programa informativo/educacional/escolar"
msgid "Content$Cartoons/Puppets"
-msgstr ""
+msgstr "Desenhos animados"
msgid "Content$Music/Ballet/Dance"
-msgstr ""
+msgstr "Másica/Bailado/Dança"
msgid "Content$Rock/Pop"
-msgstr ""
+msgstr "Rock/Pop"
msgid "Content$Serious/Classical Music"
-msgstr ""
+msgstr "Música Clássica/Séria"
msgid "Content$Folk/Tradional Music"
-msgstr ""
+msgstr "Música Tradicional/Folclore"
msgid "Content$Jazz"
-msgstr ""
+msgstr "Jazz"
msgid "Content$Musical/Opera"
-msgstr ""
+msgstr "Musical/Ópera"
msgid "Content$Ballet"
-msgstr ""
+msgstr "Bailado"
msgid "Content$Arts/Culture"
-msgstr ""
+msgstr "Arte/Cultura"
msgid "Content$Performing Arts"
-msgstr ""
+msgstr "Artes performativas"
msgid "Content$Fine Arts"
-msgstr ""
+msgstr "Belas-artes"
msgid "Content$Religion"
-msgstr ""
+msgstr "Religião"
msgid "Content$Popular Culture/Traditional Arts"
-msgstr ""
+msgstr "Cultura popular/Arte tradicional"
msgid "Content$Literature"
-msgstr ""
+msgstr "Literatura"
msgid "Content$Film/Cinema"
-msgstr ""
+msgstr "Filme/Cinema"
msgid "Content$Experimental Film/Video"
-msgstr ""
+msgstr "Filme/vídeo experimental"
msgid "Content$Broadcasting/Press"
-msgstr ""
+msgstr "Trasmissão/Imprensa"
msgid "Content$New Media"
-msgstr ""
+msgstr "Programa novo"
msgid "Content$Arts/Culture Magazine"
-msgstr ""
+msgstr "Arte/Magazine cultural"
msgid "Content$Fashion"
-msgstr ""
+msgstr "Moda"
msgid "Content$Social/Political/Economics"
-msgstr ""
+msgstr "Sociedade/Política/Economia"
msgid "Content$Magazine/Report/Documentary"
-msgstr ""
+msgstr "Magazine/Reportagem/Documentário"
msgid "Content$Economics/Social Advisory"
-msgstr ""
+msgstr "Economia/Sociedade"
msgid "Content$Remarkable People"
-msgstr ""
+msgstr "Pessoas importantes"
msgid "Content$Education/Science/Factual"
-msgstr ""
+msgstr "Educação/Ciência/Factos"
msgid "Content$Nature/Animals/Environment"
-msgstr ""
+msgstr "Natureza/Animais/Ambiente"
msgid "Content$Technology/Natural Sciences"
-msgstr ""
+msgstr "Tecnologia/Ciências naturais"
msgid "Content$Medicine/Physiology/Psychology"
-msgstr ""
+msgstr "Medicina/Filosofia/Psicologia"
msgid "Content$Foreign Countries/Expeditions"
-msgstr ""
+msgstr "Países estrangeiros/Expedições"
msgid "Content$Social/Spiritual Sciences"
-msgstr ""
+msgstr "Sociedade/Ciências espirituais"
msgid "Content$Further Education"
-msgstr ""
+msgstr "Outra educação"
msgid "Content$Languages"
-msgstr ""
+msgstr "Línguas"
msgid "Content$Leisure/Hobbies"
-msgstr ""
+msgstr "Tempos livres/Hobby"
msgid "Content$Tourism/Travel"
-msgstr ""
+msgstr "Turismo/Viagens"
msgid "Content$Handicraft"
-msgstr ""
+msgstr "Artesanato"
msgid "Content$Motoring"
-msgstr ""
+msgstr "Motorizados"
msgid "Content$Fitness & Health"
-msgstr ""
+msgstr "Fitness & Saúde"
msgid "Content$Cooking"
-msgstr ""
+msgstr "Culinária"
msgid "Content$Advertisement/Shopping"
-msgstr ""
+msgstr "Publicidade/Compras"
msgid "Content$Gardening"
-msgstr ""
+msgstr "Jardinagem"
msgid "Content$Original Language"
-msgstr ""
+msgstr "Língua materna"
msgid "Content$Black & White"
-msgstr ""
+msgstr "Branco & Preto"
msgid "Content$Unpublished"
-msgstr ""
+msgstr "Não publicado"
msgid "Content$Live Broadcast"
-msgstr ""
+msgstr "Transmissão ao vivo"
#, c-format
msgid "ParentalRating$from %d"
-msgstr ""
+msgstr "de %d"
msgid "No title"
msgstr "Sem título"
@@ -325,50 +326,50 @@ msgstr "Português"
#. TRANSLATORS: The 3-letter code of the language
msgid "LanguageCode$eng"
-msgstr "por"
+msgstr "prt"
msgid "Phase 1: Detecting RC code type"
-msgstr "Fase 1: Detectar tipo de telecomando"
+msgstr "Fase 1: A detectar código RC"
msgid "Press any key on the RC unit"
-msgstr "Pressione qualquer tecla do telecomando"
+msgstr "Pressione qualquer tecla"
msgid "RC code detected!"
-msgstr "Código do telecomando detectado!"
+msgstr "Código RC detectado!"
msgid "Do not press any key..."
-msgstr "Não pressione nenhuma tecla..."
+msgstr "Não pressione qualquer tecla..."
msgid "Phase 2: Learning specific key codes"
-msgstr "Fase 2: A aprender códigos de teclas específicos"
+msgstr "Fase 2: A aprender códigos específicos"
#, c-format
msgid "Press key for '%s'"
-msgstr "Pressione tecla para '%s'"
+msgstr "Pressione a tecla para '%s'"
msgid "Press 'Up' to confirm"
-msgstr "Pressione 'Cima' para confirmar"
+msgstr "Prima 'Cima' para confirmar"
msgid "Press 'Down' to continue"
-msgstr "Pressione 'Baixo' para continuar"
+msgstr "Prima 'Baixo' para continuar"
msgid "(press 'Up' to go back)"
-msgstr "(Pressione 'Cima' para voltar atrás)"
+msgstr "(prima 'Cima' para voltar atrás)"
msgid "(press 'Down' to end key definition)"
-msgstr "(Pressione 'Baixo' para terminar a definição de teclas)"
+msgstr "(prima 'Baixo' para concluir a definição de teclas)"
msgid "(press 'Menu' to skip this key)"
-msgstr "(Pressione 'Menu' para saltar esta tecla)"
+msgstr "(prima 'Menu' para saltar esta tecla)"
msgid "Learning Remote Control Keys"
-msgstr "Aprender as teclas do telecomando"
+msgstr "A aprender as teclas do comando"
msgid "Phase 3: Saving key codes"
-msgstr "Fase 3: A salvar os códigos das teclas"
+msgstr "Fase 3: Guaradar os códigos das teclas"
msgid "Press 'Up' to save, 'Down' to cancel"
-msgstr "Precione 'Cima' para gravar, 'Baixo' para cancelar"
+msgstr "Prima 'Cima' para guardar, 'Baixo' para cancelar"
msgid "Key$Up"
msgstr "Cima"
@@ -422,7 +423,7 @@ msgid "Key$FastFwd"
msgstr "Avanço Rápido"
msgid "Key$FastRew"
-msgstr "Retrocedo Rápido"
+msgstr "Retrocesso Rápido"
msgid "Key$Next"
msgstr "Seguinte"
@@ -440,7 +441,7 @@ msgid "Key$Channel-"
msgstr "Canal-"
msgid "Key$PrevChannel"
-msgstr "Canal anterior"
+msgstr "Canale anterior"
msgid "Key$Volume+"
msgstr "Volume+"
@@ -452,19 +453,19 @@ msgid "Key$Mute"
msgstr "Sem som"
msgid "Key$Audio"
-msgstr "Audio"
+msgstr "Áudio"
msgid "Key$Subtitles"
msgstr "Legendas"
msgid "Key$Schedule"
-msgstr "Guia de programação"
+msgstr "Programação"
msgid "Key$Channels"
msgstr "Canais"
msgid "Key$Timers"
-msgstr "Gravações programadas"
+msgstr "Gravações agendadas"
msgid "Key$Recordings"
msgstr "Gravações"
@@ -476,34 +477,34 @@ msgid "Key$Commands"
msgstr "Comandos"
msgid "Key$User0"
-msgstr "Definida0"
+msgstr "Definição0"
msgid "Key$User1"
-msgstr "Definida1"
+msgstr "Definição1"
msgid "Key$User2"
-msgstr "Definida2"
+msgstr "Definição2"
msgid "Key$User3"
-msgstr "Definida3"
+msgstr "Definição3"
msgid "Key$User4"
-msgstr "Definida4"
+msgstr "Definição4"
msgid "Key$User5"
-msgstr "Definida5"
+msgstr "Definição5"
msgid "Key$User6"
-msgstr "Definida6"
+msgstr "Definição6"
msgid "Key$User7"
-msgstr "Definida7"
+msgstr "Definição7"
msgid "Key$User8"
-msgstr "Definida8"
+msgstr "Definição8"
msgid "Key$User9"
-msgstr "Definida9"
+msgstr "Definição9"
msgid "Disk"
msgstr "Disco"
@@ -515,10 +516,10 @@ msgid "Free To Air"
msgstr "FTA"
msgid "encrypted"
-msgstr "Codificado"
+msgstr "codificado"
msgid "Edit channel"
-msgstr "Editar canal"
+msgstr "Editar Canal"
msgid "Name"
msgstr "Nome"
@@ -530,22 +531,22 @@ msgid "Frequency"
msgstr "Frequência"
msgid "Vpid"
-msgstr "Vpid"
+msgstr "PID Vídeo"
msgid "Ppid"
-msgstr "Ppid"
+msgstr "PID Pcr"
msgid "Apid1"
-msgstr "Apid1"
+msgstr "PID Áudio (1)"
msgid "Apid2"
-msgstr "Apid2"
+msgstr "PID Áudio (2)"
msgid "Dpid1"
-msgstr "Dpid1"
+msgstr "PID AC3 (1)"
msgid "Dpid2"
-msgstr "Dpid2"
+msgstr "PID AC3 (2)"
msgid "Spid1"
msgstr "Spid1"
@@ -554,7 +555,7 @@ msgid "Spid2"
msgstr "Spid2"
msgid "Tpid"
-msgstr "Tpid"
+msgstr "PID Teletext"
msgid "CA"
msgstr "CA"
@@ -563,7 +564,7 @@ msgid "Sid"
msgstr "Sid"
msgid "Channel settings are not unique!"
-msgstr "Propriedades do canal não são únicas!"
+msgstr "Parâmetros do canal não são únicos!"
msgid "Channels"
msgstr "Canais"
@@ -581,38 +582,38 @@ msgid "Button$Mark"
msgstr "Marcar"
msgid "Channel is being used by a timer!"
-msgstr "Canal a ser utilizador por uma gravação programada!"
+msgstr "Canal ocupado com uma gravação!"
msgid "Delete channel?"
-msgstr "Apagar o canal?"
+msgstr "Apagar canal?"
msgid "Edit folder"
-msgstr ""
+msgstr "Editar pasta"
msgid "New folder"
-msgstr ""
+msgstr "Nova pasta"
msgid "Sub folder"
-msgstr ""
+msgstr "Subpasta"
msgid "Folder name already exists!"
-msgstr ""
+msgstr "Nome da pasta já existe!"
#, c-format
msgid "Folder name must not contain '%c'!"
-msgstr ""
+msgstr "O nome da pasta não pode conter '%c'!"
msgid "Button$Select"
-msgstr ""
+msgstr "Seleccionar"
msgid "Delete folder and all sub folders?"
-msgstr ""
+msgstr "Apagar pasta e todas as subpastas?"
msgid "Delete folder?"
-msgstr ""
+msgstr "Apagar pasta?"
msgid "Edit timer"
-msgstr "Editar gavação programada"
+msgstr "Editar gravação programada"
msgid "Active"
msgstr "Activo"
@@ -627,7 +628,7 @@ msgid "Start"
msgstr "Inicio"
msgid "Stop"
-msgstr "Fim"
+msgstr "Final"
msgid "VPS"
msgstr "VPS"
@@ -636,22 +637,22 @@ msgid "Priority"
msgstr "Prioridade"
msgid "Lifetime"
-msgstr "Duração"
+msgstr "Validade"
msgid "File"
msgstr "Ficheiro"
msgid "Button$Folder"
-msgstr ""
+msgstr "Pasta"
msgid "First day"
-msgstr "Primeiro dia"
+msgstr "1° dia"
msgid "Select folder"
-msgstr ""
+msgstr "Seleccione a pasta"
msgid "Timers"
-msgstr "Gravações programadas"
+msgstr "Gravações"
msgid "Button$On/Off"
msgstr "On/Off"
@@ -660,16 +661,16 @@ msgid "Button$Info"
msgstr "Info"
msgid "Delete timer?"
-msgstr "Apagar a gravação programada?"
+msgstr "Eliminar gravação programada?"
msgid "Timer still recording - really delete?"
-msgstr "Gravação programada activa - quer mesmo apagar?"
+msgstr "Ainda a gravar - eliminar mesmo?"
msgid "Event"
msgstr "Evento"
msgid "Button$Timer"
-msgstr "Gravação programada"
+msgstr "Gravação"
msgid "Button$Record"
msgstr "Gravar"
@@ -678,26 +679,26 @@ msgid "Button$Switch"
msgstr "Mudar"
msgid "What's on now?"
-msgstr "O que está a dar agora?"
+msgstr "O que está a passar agora?"
msgid "What's on next?"
-msgstr "O que vai dar a seguir?"
+msgstr "O que vai passar a seguir?"
msgid "Button$Next"
-msgstr "depois"
+msgstr "Seguinte"
msgid "Button$Now"
msgstr "Agora"
msgid "Button$Schedule"
-msgstr "Guia de Programação"
+msgstr "Programação"
msgid "Can't switch channel!"
msgstr "Impossível mudar de canal!"
#, c-format
msgid "Schedule - %s"
-msgstr "Guia de programação - %s"
+msgstr "Programação - %s"
#, c-format
msgid "This event - %s"
@@ -711,10 +712,10 @@ msgstr "Todos os eventos - todos os canais"
#, c-format
msgid "Please enter %d digits!"
-msgstr "Por favor insira %d digitos!"
+msgstr "Por favor introduza %d dígitos!"
msgid "CAM not responding!"
-msgstr "CAM não responde!"
+msgstr "A CAM não responde!"
msgid "Recording info"
msgstr "Informação da gravação"
@@ -723,7 +724,7 @@ msgid "Button$Play"
msgstr "Reproduzir"
msgid "Button$Rewind"
-msgstr "Rebobinar"
+msgstr "Retroceder"
msgid "Recordings"
msgstr "Gravações"
@@ -735,22 +736,22 @@ msgid "Commands"
msgstr "Comandos"
msgid "Error while accessing recording!"
-msgstr "Erro ao aceder à gravação!"
+msgstr "Erro a aceder às gravações!"
msgid "Delete recording?"
-msgstr "Apagar a gravação?"
+msgstr "Eliminar gravação?"
msgid "Error while deleting recording!"
-msgstr "Erro ao apagar gravação!"
+msgstr "Erro a eliminar gravação!"
msgid "Recording commands"
-msgstr "Comandos de gravação"
+msgstr "A gravar comandos"
msgid "never"
msgstr "nunca"
msgid "skin dependent"
-msgstr "Dependente da skin"
+msgstr "dependente do tema"
msgid "always"
msgstr "sempre"
@@ -759,13 +760,13 @@ msgid "OSD"
msgstr "OSD"
msgid "Setup.OSD$Language"
-msgstr "Idioma"
+msgstr "Língua"
msgid "Setup.OSD$Skin"
-msgstr "Skin"
+msgstr "Tema"
msgid "Setup.OSD$Theme"
-msgstr "Tema"
+msgstr "Cor do tema"
msgid "Setup.OSD$Left (%)"
msgstr "Esquerda (%)"
@@ -774,13 +775,13 @@ msgid "Setup.OSD$Top (%)"
msgstr "Topo (%)"
msgid "Setup.OSD$Width (%)"
-msgstr "Largura (%)"
+msgstr "Largura de OSD (%)"
msgid "Setup.OSD$Height (%)"
-msgstr "Altura (%)"
+msgstr "Altura de OSD (%)"
msgid "Setup.OSD$Message time (s)"
-msgstr "Duração das mensagem (s)"
+msgstr "Duração de mensagem (s)"
msgid "Setup.OSD$Use small font"
msgstr "Usar fonte pequena"
@@ -789,87 +790,87 @@ msgid "Setup.OSD$Anti-alias"
msgstr "Anti-alias"
msgid "Setup.OSD$Default font"
-msgstr "Fonte por defeito"
+msgstr "Fonte padrão"
msgid "Setup.OSD$Small font"
msgstr "Fonte pequena"
msgid "Setup.OSD$Fixed font"
-msgstr "Fonte Fixa"
+msgstr "Fonte fixa"
msgid "Setup.OSD$Default font size (%)"
-msgstr "Tamanho por defeito de fonte (%)"
+msgstr "Tamanho da fonte padrão (%)"
msgid "Setup.OSD$Small font size (%)"
-msgstr "Tamanho da fonte pequena (%)"
+msgstr "tamanho da fonte pequena (%)"
msgid "Setup.OSD$Fixed font size (%)"
-msgstr "Tamanho da fonte fixa (%)"
+msgstr "Fonte de tamanho fixo (%)"
msgid "Setup.OSD$Channel info position"
-msgstr "Posição de info dos canais"
+msgstr "Posição da informação de canal"
msgid "bottom"
-msgstr "fundo"
+msgstr "baixo"
msgid "top"
msgstr "topo"
msgid "Setup.OSD$Channel info time (s)"
-msgstr "Tempo de info dos canais (s)"
+msgstr "Duração da informação do canal (s)"
msgid "Setup.OSD$Info on channel switch"
-msgstr "Mostrar info ao mudar de Canal"
+msgstr "Mostrar informação ao mudar de canal"
msgid "Setup.OSD$Timeout requested channel info"
-msgstr "Timeout da info dos canais pedidos"
+msgstr "Tempo para mostar informação do canal"
msgid "Setup.OSD$Scroll pages"
-msgstr "Scroll das páginas"
+msgstr "Percorrer páginas"
msgid "Setup.OSD$Scroll wraps"
-msgstr "Scroll circular"
+msgstr "Percorrer páginas de forma circular"
msgid "Setup.OSD$Menu key closes"
-msgstr "Tecla Menu fecha"
+msgstr "TTecla Menu fecha"
msgid "Setup.OSD$Recording directories"
-msgstr "Directorias de gravação"
+msgstr "Pasta de gravações"
msgid "Setup.OSD$Folders in timer menu"
-msgstr ""
+msgstr "Pastas no menu de gravações"
msgid "Setup.OSD$Number keys for characters"
-msgstr ""
+msgstr "Teclas numéricas para caracteres"
msgid "EPG"
-msgstr "Guia de programação"
+msgstr "Guia de Programação"
msgid "Button$Scan"
msgstr "Procurar"
msgid "Setup.EPG$EPG scan timeout (h)"
-msgstr "Timeout da procura de EPG (h)"
+msgstr "Procura do EPG termina após (h)"
msgid "Setup.EPG$EPG bugfix level"
-msgstr "Nível de correcção EPG"
+msgstr "Nível de correcção do EPG"
msgid "Setup.EPG$EPG linger time (min)"
-msgstr "Tempo de Linger de EPG (min)"
+msgstr "Tempo de demora do EPG (min)"
msgid "Setup.EPG$Set system time"
-msgstr "Acertar hora do sistema"
+msgstr "Configurar hora do sistema"
msgid "Setup.EPG$Use time from transponder"
msgstr "Usar hora do transponder"
#. TRANSLATORS: note the plural!
msgid "Setup.EPG$Preferred languages"
-msgstr "Idiomas preferidos"
+msgstr "Línguas preferidas"
#. TRANSLATORS: note the singular!
msgid "Setup.EPG$Preferred language"
-msgstr "Idioma preferido"
+msgstr "Língua preferida"
msgid "pan&scan"
msgstr "pan&scan"
@@ -884,31 +885,31 @@ msgid "no"
msgstr "não"
msgid "names only"
-msgstr "Apenas nomes"
+msgstr "apenas nomes"
msgid "PIDs only"
-msgstr "Apenas PIDs"
+msgstr "apenas PIDs"
msgid "names and PIDs"
-msgstr "Nomes e PIDs"
+msgstr "nomes e PIDs"
msgid "add new channels"
-msgstr "Adicionar novos canais"
+msgstr "adicionar novos canais"
msgid "add new transponders"
msgstr "adicionar novos transponders"
msgid "DVB"
-msgstr "DVB"
+msgstr "Placa DVB"
msgid "Setup.DVB$Primary DVB interface"
-msgstr "Interface DVB primário"
+msgstr "Placa DVB primária"
msgid "Setup.DVB$Video format"
msgstr "Formato de vídeo"
msgid "Setup.DVB$Video display format"
-msgstr "Formato de vídeo visivel"
+msgstr "Formato de visualização de vídeo"
msgid "Setup.DVB$Use Dolby Digital"
msgstr "Usar Dolby Digital"
@@ -917,16 +918,16 @@ msgid "Setup.DVB$Update channels"
msgstr "Actualizar canais"
msgid "Setup.DVB$Audio languages"
-msgstr "Idiomas de audio"
+msgstr "Idiomas do áudio"
msgid "Setup.DVB$Audio language"
-msgstr "Idioma de audio"
+msgstr "Idioma do áudio"
msgid "Setup.DVB$Display subtitles"
msgstr "Mostrar legendas"
msgid "Setup.DVB$Subtitle languages"
-msgstr "Idiomas das legendas"
+msgstr "Idioma das legendas"
msgid "Setup.DVB$Subtitle language"
msgstr "Idioma da legenda"
@@ -935,25 +936,25 @@ msgid "Setup.DVB$Subtitle offset"
msgstr "Posição das legendas"
msgid "Setup.DVB$Subtitle foreground transparency"
-msgstr "Transparência de foreground das legendas"
+msgstr "Transparência de topo das legendas"
msgid "Setup.DVB$Subtitle background transparency"
-msgstr "Transparência de background das legendas"
+msgstr "Transparência de fundo das legendas"
msgid "LNB"
msgstr "LNB"
msgid "Setup.LNB$Use DiSEqC"
-msgstr "Utilizar DiSEqC"
+msgstr "Usa DiSEqC"
msgid "Setup.LNB$SLOF (MHz)"
msgstr "SLOF (MHz)"
msgid "Setup.LNB$Low LNB frequency (MHz)"
-msgstr "Frequência baixa LNB (MHz)"
+msgstr "Frequência baixa do LNB (MHz)"
msgid "Setup.LNB$High LNB frequency (MHz)"
-msgstr "Frequência alta LNB (MHz)"
+msgstr "Frequência alta do LNB (MHz)"
msgid "CAM reset"
msgstr "Reiniciar CAM"
@@ -962,7 +963,7 @@ msgid "CAM present"
msgstr "CAM presente"
msgid "CAM ready"
-msgstr "CAM preparada"
+msgstr "CAM pronta"
msgid "CAM"
msgstr "CAM"
@@ -977,124 +978,124 @@ msgid "Opening CAM menu..."
msgstr "A abrir menu da CAM..."
msgid "Can't open CAM menu!"
-msgstr "Não é possível abrir menu da CAM!"
+msgstr "Impossível abrir menu da CAM!"
msgid "CAM is in use - really reset?"
-msgstr "CAM em uso - quer mesmo reiniciar?"
+msgstr "CAM em uso - reiniciar mesmo?"
msgid "Can't reset CAM!"
-msgstr "Não é possível reiniciar a CAM"
+msgstr "Impossível reiniciar a CAM!"
msgid "do not pause live video"
-msgstr ""
+msgstr "não pausar emissão"
msgid "confirm pause live video"
-msgstr ""
+msgstr "confirmar pausa da emissão"
msgid "pause live video"
-msgstr ""
+msgstr "pausar emissão"
msgid "confirm"
-msgstr ""
+msgstr "confirmar"
msgid "yes"
msgstr "sim"
msgid "Recording"
-msgstr "Opções de gravação"
+msgstr "Gravação"
msgid "Setup.Recording$Margin at start (min)"
-msgstr "Margem inicial (min)"
+msgstr "Margem de início (min)"
msgid "Setup.Recording$Margin at stop (min)"
-msgstr "Margem final (min)"
+msgstr "Margem do fim (min)"
msgid "Setup.Recording$Primary limit"
-msgstr "Limite Primário"
+msgstr "Limite primário"
msgid "Setup.Recording$Default priority"
-msgstr "Prioridade por defeito"
+msgstr "PPrioridade padrão"
msgid "Setup.Recording$Default lifetime (d)"
-msgstr "Validade por defeito (d)"
+msgstr "Validade padrão (d)"
msgid "Setup.Recording$Pause key handling"
-msgstr ""
+msgstr "Comportamento da tecla Pausa"
msgid "Setup.Recording$Pause priority"
msgstr "Prioridade da pausa"
msgid "Setup.Recording$Pause lifetime (d)"
-msgstr "Validade da pausa"
+msgstr "Validade da pausa (d)"
msgid "Setup.Recording$Use episode name"
-msgstr "Utilizar o nome do episódio"
+msgstr "Usar nome do episódio"
msgid "Setup.Recording$Use VPS"
msgstr "Usar VPS"
msgid "Setup.Recording$VPS margin (s)"
-msgstr "Margem do VPS (s)"
+msgstr "Margem de VPS (s)"
msgid "Setup.Recording$Mark instant recording"
-msgstr "Marcar gravações imediatas"
+msgstr "Marcar gravação instantânea"
msgid "Setup.Recording$Name instant recording"
-msgstr "Dar nome a gravações imediatas"
+msgstr "Nome da gravação instantânea"
msgid "Setup.Recording$Instant rec. time (min)"
-msgstr "Tempo de gravação imediata (min)"
+msgstr "Validade da gravação instantânea (min)"
msgid "Setup.Recording$Max. video file size (MB)"
-msgstr "Tamanho máximo dos ficheiros de video (MB)"
+msgstr "Tamanho máximo do ficheiro de vídeo (MB)"
msgid "Setup.Recording$Split edited files"
msgstr "Dividir ficheiros editados"
msgid "Setup.Recording$Delete timeshift recording"
-msgstr ""
+msgstr "Eliminar gravações timeshift"
msgid "Replay"
-msgstr "Opções de reprodução"
+msgstr "Reproduzir"
msgid "Setup.Replay$Multi speed mode"
-msgstr "Modo de velocidade multipla"
+msgstr "Modo multi velocidade"
msgid "Setup.Replay$Show replay mode"
msgstr "Mostrar modo de reprodução"
msgid "Setup.Replay$Resume ID"
-msgstr "ID de continuação"
+msgstr "ID de resumo"
msgid "Miscellaneous"
msgstr "Outros"
msgid "Setup.Miscellaneous$Min. event timeout (min)"
-msgstr "Tempo de espera mínimo antes de um evento (min)"
+msgstr "Tempo de espera mínimo antes de evento (min)"
msgid "Setup.Miscellaneous$Min. user inactivity (min)"
msgstr "Tempo mínimo de inactividade (min)"
msgid "Setup.Miscellaneous$SVDRP timeout (s)"
-msgstr "Tempo de espera de SVDRP (s)"
+msgstr "Tempo de espera SVDRP (s)"
msgid "Setup.Miscellaneous$Zap timeout (s)"
msgstr "Tempo de espera entre mudança de canais (s)"
msgid "Setup.Miscellaneous$Channel entry timeout (ms)"
-msgstr "Tempo de espera ao entrar num canal (ms)"
+msgstr "Tempo de espera ao mudar de canal (ms)"
msgid "Setup.Miscellaneous$Initial channel"
msgstr "Canal inicial"
msgid "Setup.Miscellaneous$as before"
-msgstr "Como estava"
+msgstr "como estava"
msgid "Setup.Miscellaneous$Initial volume"
msgstr "Volume inicial"
msgid "Setup.Miscellaneous$Channels wrap"
-msgstr ""
+msgstr "Retroceder canais"
msgid "Setup.Miscellaneous$Emergency exit"
msgstr "Saída de emergência"
@@ -1112,14 +1113,14 @@ msgid "Restart"
msgstr "Reiniciar"
msgid "Really restart?"
-msgstr "Tem a certeza que quer reiniciar?"
+msgstr "Quer mesmo reiniciar?"
#. TRANSLATORS: note the leading and trailing blanks!
msgid " Stop recording "
msgstr " Parar gravação "
msgid "Schedule"
-msgstr "Guia de programação"
+msgstr "Programação"
msgid "VDR"
msgstr "VDR"
@@ -1129,7 +1130,7 @@ msgid " Stop replaying"
msgstr " Parar reprodução"
msgid "Button$Audio"
-msgstr "Audio"
+msgstr "Áudio"
msgid "Button$Pause"
msgstr "Pausa"
@@ -1145,13 +1146,13 @@ msgid " Cancel editing"
msgstr " Cancelar edição"
msgid "Stop recording?"
-msgstr "Parar Gravação?"
+msgstr "Parar gravação?"
msgid "Cancel editing?"
-msgstr "Cancelar Edição?"
+msgstr "Cancelar edição?"
msgid "No audio available!"
-msgstr "Audio não disponível"
+msgstr "Áudio indisponível!"
msgid "No subtitles"
msgstr "Sem legendas"
@@ -1160,47 +1161,47 @@ msgid "Button$Subtitles"
msgstr "Legendas"
msgid "No subtitles available!"
-msgstr "Sem legendas disponíveis!"
+msgstr "Legendas indisponíveis!"
msgid "Not enough disk space to start recording!"
-msgstr "Espaço livre de disco insuficiente para gravar!"
+msgstr "Espaço livre insuficiente para gravar!"
msgid "No free DVB device to record!"
-msgstr "Nenhuma placa DVB disponivel para gravar!"
+msgstr "Nenhuma placa DVB disponível para gravar!"
msgid "Pausing live video..."
-msgstr "Video em directo em pausa..."
+msgstr "A pausar emissão..."
msgid "Delete timeshift recording?"
-msgstr ""
+msgstr "Eliminar gravação timeshift?"
#. TRANSLATORS: note the trailing blank!
msgid "Jump: "
msgstr "Saltar: "
msgid "No editing marks defined!"
-msgstr "Não estáo definidas marcas de edição!"
+msgstr "Marcas de edição não foram definidas!"
msgid "Can't start editing process!"
-msgstr "Não pode iniciar o processo de edição!"
+msgstr "Impossível iniciar processo de edição!"
msgid "Editing process started"
msgstr "Processo de edição iniciado"
msgid "Editing process already active!"
-msgstr "Processo de edição já activo!"
+msgstr "Processo de edição está activo!"
msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
-msgstr " abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
+msgstr " aáàbcdeéèfghiíìjklmnoóòpqrstuúùvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&°"
msgid "CharMap$ 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9"
-msgstr " 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9"
+msgstr " 0\t-.,1#~\\^$[]|()*+°?{}/:%@&\taáàbc2\tdeéèf3\tghiíì4\tjkl5\tmnoóò6\tpqrs7\ttuúùv8\twxyz9"
msgid "Button$ABC/abc"
msgstr "ABC/abc"
msgid "Button$Overwrite"
-msgstr "Substituir"
+msgstr "Sobrescrever"
msgid "Button$Insert"
msgstr "Inserir"
@@ -1209,58 +1210,58 @@ msgid "Plugin"
msgstr "Plugin"
msgid "Up/Dn for new location - OK to move"
-msgstr "Cima/Baixo para nova localização - Ok para mover"
+msgstr "Cima/Baixo para nova posição - OK para mover"
msgid "Channel locked (recording)!"
msgstr "Canal bloqueado (a gravar)!"
msgid "Low disk space!"
-msgstr "Espaço em disco reduzido!"
+msgstr "Espaço em disco baixo!"
msgid "Regenerating index file"
-msgstr ""
+msgstr "A regenerar índice do ficheiro"
msgid "Index file regeneration complete"
-msgstr ""
+msgstr "Regeneração do índice do ficheiro completa"
msgid "Can't shutdown - option '-s' not given!"
-msgstr "Impossível desligar - falta a opção '-s'!"
+msgstr "Impossível desligar - falta o parâmetro '-s'!"
msgid "Editing - shut down anyway?"
-msgstr "A editar - quer mesmo desligar?"
+msgstr "A editar - desligar mesmo assim?"
msgid "Recording - shut down anyway?"
-msgstr "Em gravação - quer mesmo desligar?"
+msgstr "A gravar - desligar mesmo assim?"
#, c-format
msgid "Recording in %ld minutes, shut down anyway?"
-msgstr "Em gravação dentro de %ld minutos - quer mesmo desligar?"
+msgstr "Gravação programada em %ld minutos - desligar mesmo assim?"
msgid "shut down anyway?"
-msgstr "quer mesmo desligar?"
+msgstr "desligar mesmo assim?"
#, c-format
msgid "Plugin %s wakes up in %ld min, continue?"
-msgstr "Plugin %s vai iniciar em %ld min, continuar?"
+msgstr "O plugin %s acorda daqui a %ld minuots, continuar?"
msgid "Editing - restart anyway?"
-msgstr "A editar - quer mesmo reiniciar?"
+msgstr "A editar - reiniciar mesmo assim?"
msgid "Recording - restart anyway?"
-msgstr "Em gravação - quer mesmo reiniciar?"
+msgstr "Gravação em curso - reiniciar mesmo assim?"
msgid "restart anyway?"
-msgstr "quer mesmo reiniciar?"
+msgstr "reiniciar mesmo assim?"
#. TRANSLATORS: note the trailing blank!
msgid "Volume "
msgstr "Volume "
msgid "Classic VDR"
-msgstr "VDR classico"
+msgstr "VDR Clássico"
msgid "ST:TNG Panels"
-msgstr "Paineis ST:TNG"
+msgstr "Consola ST:TNG"
#. TRANSLATORS: the first character of each weekday, beginning with monday
msgid "MTWTFSS"
@@ -1268,7 +1269,7 @@ msgstr "STQQSSD"
#. TRANSLATORS: abbreviated weekdays, beginning with monday (must all be 3 letters!)
msgid "MonTueWedThuFriSatSun"
-msgstr "SegTerQuaQuiSexSábDom"
+msgstr "SegTerQuaQuiSexSabDom"
msgid "Monday"
msgstr "Segunda"
@@ -1292,32 +1293,32 @@ msgid "Sunday"
msgstr "Domingo"
msgid "Upcoming recording!"
-msgstr "Gravação agendada!"
+msgstr "Gravação iminente!"
msgid "Pause live video?"
-msgstr ""
+msgstr "Pausar emissão?"
msgid "Recording started"
msgstr "Gravação iniciada"
msgid "VDR will shut down later - press Power to force"
-msgstr "VDR vai desligar mais tarde - pressione On/Off para forçar"
+msgstr "O VDR vai desligar mais tarde - pressione On/Off para forçar"
msgid "Press any key to cancel shutdown"
-msgstr "Pressione qualquer tecla para não desligar"
+msgstr "Pressione qualquer tecla para cancelar o encerramento"
msgid "Switching primary DVB..."
-msgstr "A mudar interface DVB primário..."
+msgstr "A mudar placa de DVB primária..."
msgid "Editing process failed!"
-msgstr "Falha no processo de edição"
+msgstr "Processo de edição falhou!"
msgid "Editing process finished"
-msgstr "Processo de edição terminado"
+msgstr "Processo de edição terminou"
msgid "Press any key to cancel restart"
-msgstr "Pressione qualquer tecla para não reiniciar"
+msgstr "Pressione qualquer tecla para cancelar o reinicio"
#, c-format
msgid "VDR will shut down in %s minutes"
-msgstr "VDR vai desligar em %s minutos"
+msgstr "O VDR vai desligar daqui a %s minutos"
diff --git a/tools.c b/tools.c
index c989e26..3ce12ec 100644
--- a/tools.c
+++ b/tools.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: tools.c 2.7 2010/02/28 13:31:46 kls Exp $
+ * $Id: tools.c 2.8 2010/08/29 15:03:08 kls Exp $
*/
#include "tools.h"
@@ -367,22 +367,31 @@ bool RemoveFileOrDir(const char *FileName, bool FollowSymlinks)
if (strcmp(e->d_name, ".") && strcmp(e->d_name, "..")) {
cString buffer = AddDirectory(FileName, e->d_name);
if (FollowSymlinks) {
- int size = strlen(buffer) * 2; // should be large enough
- char *l = MALLOC(char, size);
- int n = readlink(buffer, l, size);
- if (n < 0) {
- if (errno != EINVAL)
- LOG_ERROR_STR(*buffer);
+ struct stat st2;
+ if (stat(buffer, &st2) == 0) {
+ if (S_ISLNK(st2.st_mode)) {
+ int size = st2.st_size + 1;
+ char *l = MALLOC(char, size);
+ int n = readlink(buffer, l, size - 1);
+ if (n < 0) {
+ if (errno != EINVAL)
+ LOG_ERROR_STR(*buffer);
+ }
+ else if (n < size) {
+ l[n] = 0;
+ dsyslog("removing %s", l);
+ if (remove(l) < 0)
+ LOG_ERROR_STR(l);
+ }
+ else
+ esyslog("ERROR: symlink name length (%d) exceeded anticipated buffer size (%d)", n, size);
+ free(l);
+ }
}
- else if (n < size) {
- l[n] = 0;
- dsyslog("removing %s", l);
- if (remove(l) < 0)
- LOG_ERROR_STR(l);
+ else if (errno != ENOENT) {
+ LOG_ERROR_STR(FileName);
+ return false;
}
- else
- esyslog("ERROR: symlink name length (%d) exceeded anticipated buffer size (%d)", n, size);
- free(l);
}
dsyslog("removing %s", *buffer);
if (remove(buffer) < 0)