diff options
author | Klaus Schmidinger <Klaus (dot) Schmidinger (at) tvdr (dot) de> | 2010-09-19 16:00:00 +0200 |
---|---|---|
committer | Klaus Schmidinger <Klaus (dot) Schmidinger (at) tvdr (dot) de> | 2010-09-19 16:00:00 +0200 |
commit | 58db02442b375f5669416e6e744a8325ed363f99 (patch) | |
tree | c254912dffebfa6197c0a0a699ae79add7b85ef0 | |
parent | c2c45d68c644684e002a92ceee83af7550aaa1e4 (diff) | |
download | vdr-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-- | CONTRIBUTORS | 11 | ||||
-rw-r--r-- | HISTORY | 16 | ||||
-rw-r--r-- | INSTALL | 11 | ||||
-rw-r--r-- | Makefile | 7 | ||||
-rw-r--r-- | PLUGINS/src/dvbsddevice/dvbsdffdevice.c | 6 | ||||
-rw-r--r-- | PLUGINS/src/dvbsddevice/dvbsdffosd.c | 4 | ||||
-rw-r--r-- | PLUGINS/src/hello/po/fi_FI.po | 10 | ||||
-rw-r--r-- | PLUGINS/src/pictures/po/fi_FI.po | 4 | ||||
-rw-r--r-- | PLUGINS/src/skincurses/po/fi_FI.po | 4 | ||||
-rw-r--r-- | config.h | 10 | ||||
-rw-r--r-- | cutter.c | 9 | ||||
-rw-r--r-- | cutter.h | 5 | ||||
-rw-r--r-- | dvbsubtitle.c | 6 | ||||
-rw-r--r-- | font.c | 41 | ||||
-rw-r--r-- | font.h | 7 | ||||
-rw-r--r-- | i18n.c | 5 | ||||
-rw-r--r-- | pat.c | 5 | ||||
-rw-r--r-- | po/ar.po | 1409 | ||||
-rw-r--r-- | po/fi_FI.po | 2 | ||||
-rw-r--r-- | po/it_IT.po | 4 | ||||
-rw-r--r-- | po/pt_PT.po | 565 | ||||
-rw-r--r-- | tools.c | 39 |
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 @@ -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). @@ -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 -------------------------------------------------------------- @@ -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" @@ -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 @@ -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; @@ -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; @@ -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) @@ -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 { @@ -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 }; @@ -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" @@ -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) |