1
0
mirror of https://github.com/rofafor/vdr-plugin-femon.git synced 2023-10-10 11:36:53 +00:00

Compare commits

...

24 Commits

Author SHA1 Message Date
Rolf Ahrenberg
bd23a0793b Updated HISTORY and incremented the version number. 2014-05-10 15:48:58 +03:00
Rolf Ahrenberg
91a1360e09 Fixed the channel frequency value. 2014-04-12 23:01:46 +03:00
Rolf Ahrenberg
2e5dad9ec5 Updated for vdr-2.1.6. 2014-03-16 17:04:28 +02:00
Rolf Ahrenberg
136c9fb73c Refactored the SAT>IP support. 2014-03-15 12:35:49 +02:00
Rolf Ahrenberg
9ca1fcb378 Added support for SAT>IP devices. 2014-03-08 13:28:31 +02:00
Rolf Ahrenberg
1cfbd0b730 Updated translation files and HISTORY. 2014-01-19 00:14:13 +02:00
Rolf Ahrenberg
152e87d443 Updated version number. 2014-01-12 22:27:23 +02:00
Rolf Ahrenberg
08223cf6c4 Added initial support for CAMs. 2014-01-12 22:24:50 +02:00
Rolf Ahrenberg
84572d2187 Fixed indentation. 2014-01-12 01:02:03 +02:00
Rolf Ahrenberg
78554b53b6 Updated translation files and HISTORY. 2014-01-11 00:08:06 +02:00
Rolf Ahrenberg
11554a8d7e Updated the femonclient package. 2014-01-06 22:40:31 +02:00
Rolf Ahrenberg
0d06635520 Fixed freeing memory. 2014-01-06 22:36:54 +02:00
Rolf Ahrenberg
eedab47c35 Updated Makefile. 2014-01-06 22:00:59 +02:00
Rolf Ahrenberg
cba5171a09 Fixed scan-build issues. 2014-01-02 21:33:34 +02:00
Rolf Ahrenberg
91d6cb4074 Fixed a crash in SVDRP (Thanks for Lothar Englisch for reporting). 2013-11-19 22:29:36 +02:00
Rolf Ahrenberg
bf222dc7ff Updated for vdr-2.0.0. 2013-04-01 22:35:11 +03:00
Rolf Ahrenberg
33176e9a77 Updated French translation (Thanks to Bernard Jaulin). 2013-03-23 19:13:35 +02:00
Rolf Ahrenberg
0a4e5d912c Added Slovak translation (Thanks to Milan Hrala). 2013-03-20 21:43:45 +02:00
Rolf Ahrenberg
3648b46fa2 Added SetMenuCategory(mcSetupPlugins). 2013-03-13 23:36:15 +02:00
Rolf Ahrenberg
c5267f5390 Updated HISTORY. 2013-03-10 21:18:23 +02:00
Rolf Ahrenberg
30d7eea514 Fixed Rolloff/StreamId layouts and updated Finnish translation. 2013-03-10 20:12:17 +02:00
Rolf Ahrenberg
09d17772d2 Updated for vdr-1.7.40. 2013-03-10 18:52:01 +02:00
Rolf Ahrenberg
ee43f5936f Updated French translation (Thanks to Bernard Jaulin). 2013-03-09 13:19:03 +02:00
Rolf Ahrenberg
10b8463283 Fixed cppcheck warnings. 2013-03-06 09:28:16 +02:00
24 changed files with 732 additions and 216 deletions

48
HISTORY
View File

@@ -1,4 +1,3 @@
=================================== ===================================
VDR Plugin 'femon' Revision History VDR Plugin 'femon' Revision History
=================================== ===================================
@@ -66,6 +65,7 @@ VDR Plugin 'femon' Revision History
- Backported changes and fixes from version 0.1.6. - Backported changes and fixes from version 0.1.6.
=================================== ===================================
VDR Plugin 'femon' Revision History VDR Plugin 'femon' Revision History
=================================== ===================================
@@ -343,6 +343,7 @@ VDR Plugin 'femon' Revision History
- Backported from 1.7.2. - Backported from 1.7.2.
=================================== ===================================
VDR Plugin 'femon' Revision History VDR Plugin 'femon' Revision History
=================================== ===================================
@@ -459,3 +460,48 @@ VDR Plugin 'femon' Revision History
- Updated for vdr-1.7.37. - Updated for vdr-1.7.37.
- Modified how the receiver is detached. - Modified how the receiver is detached.
- Added Ukrainian translation (Thanks to Yarema aka Knedlyk). - Added Ukrainian translation (Thanks to Yarema aka Knedlyk).
2013-03-10: Version 1.7.19
- Updated for vdr-1.7.40.
- Updated French translation (Thanks to Bernard Jaulin).
===================================
VDR Plugin 'femon' Revision History
===================================
2013-04-01: Version 2.0.0
- Updated for vdr-2.0.0.
- Added Slovak translation (Thanks to Milan Hrala).
2014-01-10: Version 2.0.1
- Fixed a crash in SVDRP (Thanks for Lothar Englisch for reporting).
- Fixed a memory leak and issues reported by scan-build tool.
2014-01-18: Version 2.0.2
- Added initial support for CAMs.
2014-03-08: Version 2.0.3
- Added support for SAT>IP devices.
2014-03-15: Version 2.0.4
- Refactored the SAT>IP support.
===================================
VDR Plugin 'femon' Revision History
===================================
2014-03-16: Version 2.1.0
- Updated for vdr-2.1.6.
2014-05-10: Version 2.1.1
- Fixed the channel frequency value.

View File

@@ -24,7 +24,7 @@ GITTAG = $(shell git describe --always 2>/dev/null)
### The directory environment: ### The directory environment:
# Use package data if installed...otherwise assume we're under the VDR source directory: # Use package data if installed...otherwise assume we're under the VDR source directory:
PKGCFG = $(if $(VDRDIR),$(shell pkg-config --variable=$(1) $(VDRDIR)/vdr.pc),$(shell pkg-config --variable=$(1) vdr || pkg-config --variable=$(1) ../../../vdr.pc)) PKGCFG = $(if $(VDRDIR),$(shell pkg-config --variable=$(1) $(VDRDIR)/vdr.pc),$(shell PKG_CONFIG_PATH="$$PKG_CONFIG_PATH:../../.." pkg-config --variable=$(1) vdr))
LIBDIR = $(call PKGCFG,libdir) LIBDIR = $(call PKGCFG,libdir)
LOCDIR = $(call PKGCFG,locdir) LOCDIR = $(call PKGCFG,locdir)
PLGCFG = $(call PKGCFG,plgcfg) PLGCFG = $(call PKGCFG,plgcfg)
@@ -145,4 +145,4 @@ clean:
.PHONY: cppcheck .PHONY: cppcheck
cppcheck: cppcheck:
@cppcheck --enable=all -v -f $(OBJS:%.o=%.c) @cppcheck --language=c++ --enable=all -v -f $(OBJS:%.o=%.c)

7
README
View File

@@ -71,13 +71,8 @@ Left/Right - Switch to next/previous device that provides the current channel
Installation: Installation:
cd /put/your/path/here/VDR/PLUGINS/src
tar -xzf /put/your/path/here/vdr-femon-X.Y.Z.tgz tar -xzf /put/your/path/here/vdr-femon-X.Y.Z.tgz
ln -s femon-X.Y.Z femon make -C femon-X.Y.Z install
cd /put/your/path/here/VDR
make
make plugins
./vdr -P femon
Client-server architecture: Client-server architecture:

17
femon.c
View File

@@ -14,15 +14,15 @@
#include "femonservice.h" #include "femonservice.h"
#include "femontools.h" #include "femontools.h"
#if defined(APIVERSNUM) && APIVERSNUM < 10737 #if defined(APIVERSNUM) && APIVERSNUM < 20106
#error "VDR-1.7.37 API version or greater is required!" #error "VDR-2.1.6 API version or greater is required!"
#endif #endif
#ifndef GITVERSION #ifndef GITVERSION
#define GITVERSION "" #define GITVERSION ""
#endif #endif
static const char VERSION[] = "1.7.18" GITVERSION; static const char VERSION[] = "2.1.1" GITVERSION;
static const char DESCRIPTION[] = trNOOP("DVB Signal Information Monitor (OSD)"); static const char DESCRIPTION[] = trNOOP("DVB Signal Information Monitor (OSD)");
static const char MAINMENUENTRY[] = trNOOP("Signal Information"); static const char MAINMENUENTRY[] = trNOOP("Signal Information");
@@ -136,7 +136,7 @@ bool cPluginFemon::Service(const char *Id, void *Data)
{ {
if (strcmp(Id,"FemonService-v1.0") == 0) { if (strcmp(Id,"FemonService-v1.0") == 0) {
if (Data) { if (Data) {
FemonService_v1_0 *data = (FemonService_v1_0*)Data; FemonService_v1_0 *data = reinterpret_cast<FemonService_v1_0*>(Data);
if (!cDevice::ActualDevice()) if (!cDevice::ActualDevice())
return false; return false;
cDvbDevice *dev = getDvbDevice(cDevice::ActualDevice()); cDvbDevice *dev = getDvbDevice(cDevice::ActualDevice());
@@ -204,11 +204,11 @@ cString cPluginFemon::SVDRPCommand(const char *Command, const char *Option, int
if (dev2) if (dev2)
dev = dev2; dev = dev2;
} }
if (cReplayControl::NowReplaying() || !dev) {
ReplyCode = 550; // Requested action not taken
return cString("Cannot open femon plugin while replaying");
}
if (strcasecmp(Command, "OPEN") == 0) { if (strcasecmp(Command, "OPEN") == 0) {
if (cReplayControl::NowReplaying()) {
ReplyCode = 550; // Requested action not taken
return cString("Cannot open femon plugin while replaying");
}
if (!cFemonOsd::Instance()) if (!cFemonOsd::Instance())
cRemote::CallPlugin(Name()); cRemote::CallPlugin(Name());
return cString("Opening femon plugin"); return cString("Opening femon plugin");
@@ -318,6 +318,7 @@ cMenuFemonSetup::cMenuFemonSetup(void)
themes[eFemonThemePearlHD] = tr("PearlHD"); themes[eFemonThemePearlHD] = tr("PearlHD");
data = femonConfig; data = femonConfig;
SetMenuCategory(mcSetupPlugins);
Setup(); Setup();
} }

Binary file not shown.

View File

@@ -24,7 +24,7 @@
#define OSDWIDTH m_OsdWidth // in pixels #define OSDWIDTH m_OsdWidth // in pixels
#define OSDHEIGHT m_OsdHeight // in pixels #define OSDHEIGHT m_OsdHeight // in pixels
#define OSDROWHEIGHT m_Font->Height() // in pixels #define OSDROWHEIGHT m_Font->Height() // in pixels
#define OSDINFOHEIGHT (OSDROWHEIGHT * 13) // in pixels (13 rows) #define OSDINFOHEIGHT (OSDROWHEIGHT * 14) // in pixels (14 rows)
#define OSDSTATUSHEIGHT (OSDROWHEIGHT * 6) // in pixels (6 rows) #define OSDSTATUSHEIGHT (OSDROWHEIGHT * 6) // in pixels (6 rows)
#define OSDSYMBOL(id) femonSymbols.Get(id) #define OSDSYMBOL(id) femonSymbols.Get(id)
#define OSDSPACING femonSymbols.GetSpacing() #define OSDSPACING femonSymbols.GetSpacing()
@@ -434,8 +434,11 @@ void cFemonOsd::DrawInfoWindow(void)
OSDDRAWINFORIGHT(trVDR("CoderateH"), *getCoderate(dtp.CoderateH())); OSDDRAWINFORIGHT(trVDR("CoderateH"), *getCoderate(dtp.CoderateH()));
offset += OSDROWHEIGHT; offset += OSDROWHEIGHT;
OSDDRAWINFOLEFT( trVDR("System"), *getSatelliteSystem(dtp.System())); OSDDRAWINFOLEFT( trVDR("System"), *getSatelliteSystem(dtp.System()));
if (dtp.System()) if (dtp.System()) {
OSDDRAWINFORIGHT(trVDR("RollOff"), *getRollOff(dtp.RollOff())); OSDDRAWINFORIGHT(trVDR("RollOff"), *getRollOff(dtp.RollOff()));
offset += OSDROWHEIGHT;
OSDDRAWINFOLEFT( trVDR("Pilot"), *getPilot(dtp.Pilot()));
}
} }
break; break;
@@ -471,8 +474,12 @@ void cFemonOsd::DrawInfoWindow(void)
OSDDRAWINFORIGHT(trVDR("Guard"), *getGuard(dtp.Guard())); OSDDRAWINFORIGHT(trVDR("Guard"), *getGuard(dtp.Guard()));
offset += OSDROWHEIGHT; offset += OSDROWHEIGHT;
OSDDRAWINFOLEFT( trVDR("System"), *getTerrestrialSystem(dtp.System())); OSDDRAWINFOLEFT( trVDR("System"), *getTerrestrialSystem(dtp.System()));
if (dtp.System()) if (dtp.System()) {
OSDDRAWINFORIGHT(trVDR("PlpId"), *cString::sprintf("%d", dtp.PlpId())); OSDDRAWINFORIGHT(trVDR("StreamId"), *cString::sprintf("%d", dtp.StreamId()));
offset += OSDROWHEIGHT;
OSDDRAWINFOLEFT( trVDR("T2SystemId"),*cString::sprintf("%d", dtp.T2SystemId()));
OSDDRAWINFORIGHT(trVDR("SISO/MISO"), *cString::sprintf("%d", dtp.SisoMiso()));
}
} }
break; break;
@@ -488,7 +495,6 @@ void cFemonOsd::DrawInfoWindow(void)
OSDDRAWINFOLEFT(tr("Protocol"), *data.protocol); OSDDRAWINFOLEFT(tr("Protocol"), *data.protocol);
offset += OSDROWHEIGHT; offset += OSDROWHEIGHT;
OSDDRAWINFOLEFT(tr("Bitrate"), *data.bitrate); OSDDRAWINFOLEFT(tr("Bitrate"), *data.bitrate);
offset += OSDROWHEIGHT;
} }
} }
} }
@@ -624,6 +630,23 @@ void cFemonOsd::Action(void)
m_BERValid = (ioctl(m_Frontend, FE_READ_BER, &m_BER) >= 0); m_BERValid = (ioctl(m_Frontend, FE_READ_BER, &m_BER) >= 0);
m_UNCValid = (ioctl(m_Frontend, FE_READ_UNCORRECTED_BLOCKS, &m_UNC) >= 0); m_UNCValid = (ioctl(m_Frontend, FE_READ_UNCORRECTED_BLOCKS, &m_UNC) >= 0);
} }
else if (strstr(*cDevice::ActualDevice()->DeviceType(), SATIP_DEVICE)) {
m_Quality = cDevice::ActualDevice()->SignalQuality();
m_QualityValid = (m_Quality >= 0);
m_Strength = cDevice::ActualDevice()->SignalStrength();
m_StrengthValid = (m_Strength >= 0);
m_FrontendName = cDevice::ActualDevice()->DeviceName();
m_FrontendStatus = (fe_status_t)(cDevice::ActualDevice()->HasLock() ? (FE_HAS_LOCK | FE_HAS_SIGNAL | FE_HAS_CARRIER | FE_HAS_VITERBI | FE_HAS_SYNC) : 0);
m_FrontendStatusValid = m_StrengthValid;
m_Signal = uint16_t(m_Strength * 0xFFFF / 100);
m_SignalValid = m_StrengthValid;
m_SNR = uint16_t(m_Quality * 0xFFFF / 100);
m_SNRValid = m_QualityValid;
m_BER = 0;
m_BERValid = false;
m_UNC = 0;
m_UNCValid = false;
}
else if (m_SvdrpConnection.handle >= 0) { else if (m_SvdrpConnection.handle >= 0) {
cmd.handle = m_SvdrpConnection.handle; cmd.handle = m_SvdrpConnection.handle;
m_SvdrpPlugin->Service("SvdrpCommand-v1.0", &cmd); m_SvdrpPlugin->Service("SvdrpCommand-v1.0", &cmd);
@@ -714,6 +737,9 @@ void cFemonOsd::Show(void)
return; return;
} }
} }
else if (strstr(*cDevice::ActualDevice()->DeviceType(), SATIP_DEVICE)) {
// nop
}
else if (femonConfig.usesvdrp) { else if (femonConfig.usesvdrp) {
if (!SvdrpConnect() || !SvdrpTune()) if (!SvdrpConnect() || !SvdrpTune())
return; return;
@@ -788,6 +814,9 @@ void cFemonOsd::ChannelSwitch(const cDevice * device, int channelNumber, bool li
return; return;
} }
} }
else if (strstr(*cDevice::ActualDevice()->DeviceType(), SATIP_DEVICE)) {
// nop
}
else if (femonConfig.usesvdrp) { else if (femonConfig.usesvdrp) {
if (!SvdrpConnect() || !SvdrpTune()) if (!SvdrpConnect() || !SvdrpTune())
return; return;
@@ -834,26 +863,83 @@ bool cFemonOsd::DeviceSwitch(int direction)
cChannel *channel = Channels.GetByNumber(cDevice::CurrentChannel()); cChannel *channel = Channels.GetByNumber(cDevice::CurrentChannel());
if (channel) { if (channel) {
for (int i = 0; i < cDevice::NumDevices() - 1; i++) { for (int i = 0; i < cDevice::NumDevices() - 1; i++) {
if (direction >= 0) { if (direction >= 0) {
if (++device >= cDevice::NumDevices()) if (++device >= cDevice::NumDevices())
device = 0; device = 0;
} }
else { else {
if (--device < 0) if (--device < 0)
device = cDevice::NumDevices() - 1; device = cDevice::NumDevices() - 1;
} }
if (cDevice::GetDevice(device)->ProvidesChannel(channel, 0)) { // Collect the current priorities of all CAM slots that can decrypt the channel:
debug("%s(%d) device(%d)\n", __PRETTY_FUNCTION__, direction, device); int NumCamSlots = CamSlots.Count();
cStatus::MsgChannelSwitch(cDevice::PrimaryDevice(), 0, true); int SlotPriority[NumCamSlots];
cControl::Shutdown(); int NumUsableSlots = 0;
cDevice::GetDevice(device)->SwitchChannel(channel, true); bool NeedsDetachAllReceivers = false;
if (cDevice::GetDevice(device) == cDevice::PrimaryDevice()) bool InternalCamNeeded = false;
cDevice::GetDevice(device)->ForceTransferMode(); bool ValidDevice = false;
cControl::Launch(new cTransferControl(cDevice::GetDevice(device), channel)); cCamSlot *s = NULL;
cStatus::MsgChannelSwitch(cDevice::PrimaryDevice(), channel->Number(), true); cDevice *d = cDevice::GetDevice(device);
return (true); if (channel->Ca() >= CA_ENCRYPTED_MIN) {
} for (cCamSlot *CamSlot = CamSlots.First(); CamSlot; CamSlot = CamSlots.Next(CamSlot)) {
} SlotPriority[CamSlot->Index()] = MAXPRIORITY + 1; // assumes it can't be used
if (CamSlot->ModuleStatus() == msReady) {
if (CamSlot->ProvidesCa(channel->Caids())) {
if (!ChannelCamRelations.CamChecked(channel->GetChannelID(), CamSlot->SlotNumber())) {
SlotPriority[CamSlot->Index()] = CamSlot->Priority();
NumUsableSlots++;
}
}
}
}
if (!NumUsableSlots)
InternalCamNeeded = true; // no CAM is able to decrypt this channel
}
for (int j = 0; j < NumCamSlots || !NumUsableSlots; ++j) {
if (NumUsableSlots && SlotPriority[j] > MAXPRIORITY)
continue; // there is no CAM available in this slot
bool HasInternalCam = d->HasInternalCam();
if (InternalCamNeeded && !HasInternalCam)
continue; // no CAM is able to decrypt this channel and the device uses vdr handled CAMs
if (NumUsableSlots && !HasInternalCam && !CamSlots.Get(j)->Assign(d, true))
continue; // CAM slot can't be used with this device
if (d->ProvidesChannel(channel, 0, &NeedsDetachAllReceivers)) { // this device is basically able to do the job
debug("%s(%d) device(%d)\n", __PRETTY_FUNCTION__, direction, device);
if (NumUsableSlots && !HasInternalCam && d->CamSlot() && d->CamSlot() != CamSlots.Get(j))
NeedsDetachAllReceivers = true; // using a different CAM slot requires detaching receivers
if (NumUsableSlots && !HasInternalCam)
s = CamSlots.Get(j);
ValidDevice = true;
break;
}
if (!NumUsableSlots)
break; // no CAM necessary, so just one loop over the devices
}
// Do the actual switch if valid device found
if (d && ValidDevice) {
cStatus::MsgChannelSwitch(cDevice::PrimaryDevice(), 0, true);
cControl::Shutdown();
if (NeedsDetachAllReceivers)
d->DetachAllReceivers();
if (s) {
if (s->Device() != d) {
if (s->Device())
s->Device()->DetachAllReceivers();
if (d->CamSlot())
d->CamSlot()->Assign(NULL);
s->Assign(d);
}
}
else if (d->CamSlot() && !d->CamSlot()->IsDecrypting())
d->CamSlot()->Assign(NULL);
d->SwitchChannel(channel, true);
if (d == cDevice::PrimaryDevice())
d->ForceTransferMode();
cControl::Launch(new cTransferControl(d, channel));
cStatus::MsgChannelSwitch(cDevice::PrimaryDevice(), channel->Number(), true);
return (true);
}
}
} }
} }
return (false); return (false);

View File

@@ -53,6 +53,7 @@
#include "symbols/format480i.xpm" #include "symbols/format480i.xpm"
#include "symbols/format480p.xpm" #include "symbols/format480p.xpm"
static cBitmap bmOnePixel(1, 1, 1);
static cBitmap bmStereo(stereo_xpm); static cBitmap bmStereo(stereo_xpm);
static cBitmap bmMonoLeft(monoleft_xpm); static cBitmap bmMonoLeft(monoleft_xpm);
static cBitmap bmMonoRight(monoright_xpm); static cBitmap bmMonoRight(monoright_xpm);
@@ -134,49 +135,50 @@ bool cFemonSymbolCache::Populate(void)
Flush(); Flush();
// pushing order must follow the enumeration - keep original proportions except for frontend status ones // pushing order must follow the enumeration - keep original proportions except for frontend status ones
cacheM.Append(bmStereo.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_STEREO cacheM.Append(bmOnePixel.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_ONEPIXEL
cacheM.Append(bmMonoLeft.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_MONO_LEFT cacheM.Append(bmStereo.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_STEREO
cacheM.Append(bmMonoRight.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_MONO_RIGHT cacheM.Append(bmMonoLeft.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_MONO_LEFT
cacheM.Append(bmDolbyDigital.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_DD cacheM.Append(bmMonoRight.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_MONO_RIGHT
cacheM.Append(bmDolbyDigital20.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_DD20 cacheM.Append(bmDolbyDigital.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_DD
cacheM.Append(bmDolbyDigital51.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_DD51 cacheM.Append(bmDolbyDigital20.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_DD20
cacheM.Append(bmMpeg2.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_MPEG2 cacheM.Append(bmDolbyDigital51.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_DD51
cacheM.Append(bmH264.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_H264 cacheM.Append(bmMpeg2.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_MPEG2
cacheM.Append(bmPal.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_PAL cacheM.Append(bmH264.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_H264
cacheM.Append(bmNtsc.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_NTSC cacheM.Append(bmPal.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_PAL
cacheM.Append(bmEncrypted.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_ENCRYPTED cacheM.Append(bmNtsc.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_NTSC
cacheM.Append(bmSvdrp.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_SVDRP cacheM.Append(bmEncrypted.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_ENCRYPTED
cacheM.Append(bmLock.Scaled(xFactorM, yFactorM, antiAliasM)); // SYMBOL_LOCK cacheM.Append(bmSvdrp.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_SVDRP
cacheM.Append(bmSignal.Scaled(xFactorM, yFactorM, antiAliasM)); // SYMBOL_SIGNAL cacheM.Append(bmLock.Scaled(xFactorM, yFactorM, antiAliasM)); // SYMBOL_LOCK
cacheM.Append(bmCarrier.Scaled(xFactorM, yFactorM, antiAliasM)); // SYMBOL_CARRIER cacheM.Append(bmSignal.Scaled(xFactorM, yFactorM, antiAliasM)); // SYMBOL_SIGNAL
cacheM.Append(bmViterbi.Scaled(xFactorM, yFactorM, antiAliasM)); // SYMBOL_VITERBI cacheM.Append(bmCarrier.Scaled(xFactorM, yFactorM, antiAliasM)); // SYMBOL_CARRIER
cacheM.Append(bmSync.Scaled(xFactorM, yFactorM, antiAliasM)); // SYMBOL_SYNC cacheM.Append(bmViterbi.Scaled(xFactorM, yFactorM, antiAliasM)); // SYMBOL_VITERBI
cacheM.Append(bmAspectRatio11.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_AR_1_1 cacheM.Append(bmSync.Scaled(xFactorM, yFactorM, antiAliasM)); // SYMBOL_SYNC
cacheM.Append(bmAspectRatio169.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_AR_16_9 cacheM.Append(bmAspectRatio11.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_AR_1_1
cacheM.Append(bmAspectRatio169.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_AR_16_9
cacheM.Append(bmAspectRatio2211.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_AR_2_21_1 cacheM.Append(bmAspectRatio2211.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_AR_2_21_1
cacheM.Append(bmAspectRatio43.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_AR_4_3 cacheM.Append(bmAspectRatio43.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_AR_4_3
cacheM.Append(bmDevice.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_DEVICE cacheM.Append(bmDevice.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_DEVICE
cacheM.Append(bmZero.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_ZERO cacheM.Append(bmZero.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_ZERO
cacheM.Append(bmOne.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_ONE cacheM.Append(bmOne.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_ONE
cacheM.Append(bmTwo.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_TWO cacheM.Append(bmTwo.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_TWO
cacheM.Append(bmThree.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_THREE cacheM.Append(bmThree.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_THREE
cacheM.Append(bmFour.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_FOUR cacheM.Append(bmFour.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_FOUR
cacheM.Append(bmFive.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_FIVE cacheM.Append(bmFive.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_FIVE
cacheM.Append(bmSix.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_SIX cacheM.Append(bmSix.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_SIX
cacheM.Append(bmSeven.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_SEVEN cacheM.Append(bmSeven.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_SEVEN
cacheM.Append(bmEight.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_EIGHT cacheM.Append(bmEight.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_EIGHT
cacheM.Append(bmFormat1080.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_FORMAT_1080 cacheM.Append(bmFormat1080.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_FORMAT_1080
cacheM.Append(bmFormat1080i.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_FORMAT_1080i cacheM.Append(bmFormat1080i.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_FORMAT_1080i
cacheM.Append(bmFormat1080p.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_FORMAT_1080p cacheM.Append(bmFormat1080p.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_FORMAT_1080p
cacheM.Append(bmFormat720.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_FORMAT_720 cacheM.Append(bmFormat720.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_FORMAT_720
cacheM.Append(bmFormat720i.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_FORMAT_720i cacheM.Append(bmFormat720i.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_FORMAT_720i
cacheM.Append(bmFormat720p.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_FORMAT_720p cacheM.Append(bmFormat720p.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_FORMAT_720p
cacheM.Append(bmFormat576.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_FORMAT_576 cacheM.Append(bmFormat576.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_FORMAT_576
cacheM.Append(bmFormat576i.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_FORMAT_576i cacheM.Append(bmFormat576i.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_FORMAT_576i
cacheM.Append(bmFormat576p.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_FORMAT_576p cacheM.Append(bmFormat576p.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_FORMAT_576p
cacheM.Append(bmFormat480.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_FORMAT_480 cacheM.Append(bmFormat480.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_FORMAT_480
cacheM.Append(bmFormat480i.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_FORMAT_480i cacheM.Append(bmFormat480i.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_FORMAT_480i
cacheM.Append(bmFormat480p.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_FORMAT_480p cacheM.Append(bmFormat480p.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_FORMAT_480p
return true; return true;
} }
@@ -197,7 +199,7 @@ bool cFemonSymbolCache::Flush(void)
cBitmap& cFemonSymbolCache::Get(eSymbols symbolP) cBitmap& cFemonSymbolCache::Get(eSymbols symbolP)
{ {
cBitmap *bitmapM = NULL; cBitmap *bitmapM = cacheM[SYMBOL_ONEPIXEL];
if (symbolP < cacheM.Size()) if (symbolP < cacheM.Size())
bitmapM = cacheM[symbolP]; bitmapM = cacheM[symbolP];

View File

@@ -12,6 +12,7 @@
#include <vdr/osd.h> #include <vdr/osd.h>
enum eSymbols { enum eSymbols {
SYMBOL_ONEPIXEL,
SYMBOL_STEREO, SYMBOL_STEREO,
SYMBOL_MONO_LEFT, SYMBOL_MONO_LEFT,
SYMBOL_MONO_RIGHT, SYMBOL_MONO_RIGHT,
@@ -77,8 +78,8 @@ public:
~cFemonSymbolCache(); ~cFemonSymbolCache();
void Refresh(); void Refresh();
cBitmap& Get(eSymbols symbolP); cBitmap& Get(eSymbols symbolP);
int GetSpacing() { return int(yFactorM * DEFAULT_SPACING); } int GetSpacing() { return int(yFactorM * cFemonSymbolCache::DEFAULT_SPACING); }
int GetRounding() { return int(yFactorM * DEFAULT_ROUNDING); } int GetRounding() { return int(yFactorM * cFemonSymbolCache::DEFAULT_ROUNDING); }
}; };
extern cFemonSymbolCache femonSymbols; extern cFemonSymbolCache femonSymbols;

View File

@@ -9,6 +9,7 @@
#define __STDC_FORMAT_MACROS #define __STDC_FORMAT_MACROS
#endif #endif
#include <ctype.h>
#include <stdint.h> #include <stdint.h>
#include <stdlib.h> #include <stdlib.h>
#include <unistd.h> #include <unistd.h>
@@ -377,6 +378,11 @@ cString getRollOff(int value)
return cString::sprintf("%s", getUserString(value, RollOffValues)); return cString::sprintf("%s", getUserString(value, RollOffValues));
} }
cString getPilot(int value)
{
return cString::sprintf("%s", getUserString(value, PilotValues));
}
cString getResolution(int width, int height, int scan) cString getResolution(int width, int height, int scan)
{ {
if ((width > 0) && (height > 0)) { if ((width > 0) && (height > 0)) {
@@ -518,8 +524,9 @@ cString getAC3DialogLevel(int value)
cString getFrequencyMHz(int value) cString getFrequencyMHz(int value)
{ {
while (value > 20000) value /= 1000; double freq = value;
return cString::sprintf("%d %s", value, tr("MHz")); while (freq > 20000.0) freq /= 1000.0;
return cString::sprintf("%s %s", *dtoa(freq, "%lg"), tr("MHz"));
} }
cString getAudioSamplingFreq(int value) cString getAudioSamplingFreq(int value)

View File

@@ -26,6 +26,8 @@
#define FRONTEND_DEVICE "/dev/dvb/adapter%d/frontend%d" #define FRONTEND_DEVICE "/dev/dvb/adapter%d/frontend%d"
#define SATIP_DEVICE "SAT>IP"
cDvbDevice *getDvbDevice(cDevice* device); cDvbDevice *getDvbDevice(cDevice* device);
cString getFrontendInfo(cDvbDevice *device); cString getFrontendInfo(cDvbDevice *device);
@@ -57,6 +59,7 @@ cString getModulation(int value);
cString getTerrestrialSystem(int value); cString getTerrestrialSystem(int value);
cString getSatelliteSystem(int value); cString getSatelliteSystem(int value);
cString getRollOff(int value); cString getRollOff(int value);
cString getPilot(int value);
cString getResolution(int width, int height, int scan); cString getResolution(int width, int height, int scan);
cString getAspectRatio(int value); cString getAspectRatio(int value);
cString getVideoFormat(int value); cString getVideoFormat(int value);

View File

@@ -1,5 +1,5 @@
# VDR plugin language source file. # VDR plugin language source file.
# Copyright (C) 2007 Rolf Ahrenberg # Copyright (C) 2007-2014 Rolf Ahrenberg
# This file is distributed under the same license as the femon package. # This file is distributed under the same license as the femon package.
# Peter Marquardt # Peter Marquardt
# Andreas Brachold # Andreas Brachold
@@ -7,10 +7,10 @@
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: vdr-femon 1.7.18\n" "Project-Id-Version: vdr-femon 2.1.1\n"
"Report-Msgid-Bugs-To: <see README>\n" "Report-Msgid-Bugs-To: <see README>\n"
"POT-Creation-Date: 2010-10-10 10:10+0300\n" "POT-Creation-Date: 2014-05-10 05:10+0200\n"
"PO-Revision-Date: 2010-10-10 10:10+0300\n" "PO-Revision-Date: 2014-05-10 05:10+0200\n"
"Last-Translator: Christian Wieninger\n" "Last-Translator: Christian Wieninger\n"
"Language-Team: German <vdr@linuxtv.org>\n" "Language-Team: German <vdr@linuxtv.org>\n"
"Language: de\n" "Language: de\n"

View File

@@ -1,14 +1,14 @@
# VDR plugin language source file. # VDR plugin language source file.
# Copyright (C) 2007 Rolf Ahrenberg # Copyright (C) 2007-2014 Rolf Ahrenberg
# This file is distributed under the same license as the femon package. # This file is distributed under the same license as the femon package.
# Luis Palacios # Luis Palacios
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: vdr-femon 1.7.18\n" "Project-Id-Version: vdr-femon 2.1.1\n"
"Report-Msgid-Bugs-To: <see README>\n" "Report-Msgid-Bugs-To: <see README>\n"
"POT-Creation-Date: 2010-10-10 10:10+0300\n" "POT-Creation-Date: 2014-05-10 05:10+0200\n"
"PO-Revision-Date: 2010-10-10 10:10+0300\n" "PO-Revision-Date: 2014-05-10 05:10+0200\n"
"Last-Translator: Luis Palacios\n" "Last-Translator: Luis Palacios\n"
"Language-Team: Spanish <vdr@linuxtv.org>\n" "Language-Team: Spanish <vdr@linuxtv.org>\n"
"Language: es\n" "Language: es\n"

View File

@@ -1,14 +1,14 @@
# VDR plugin language source file. # VDR plugin language source file.
# Copyright (C) 2007 Rolf Ahrenberg # Copyright (C) 2007-2014 Rolf Ahrenberg
# This file is distributed under the same license as the femon package. # This file is distributed under the same license as the femon package.
# Arthur Konovalov # Arthur Konovalov
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: vdr-femon 1.7.18\n" "Project-Id-Version: vdr-femon 2.1.1\n"
"Report-Msgid-Bugs-To: <see README>\n" "Report-Msgid-Bugs-To: <see README>\n"
"POT-Creation-Date: 2010-10-10 10:10+0300\n" "POT-Creation-Date: 2014-05-10 05:10+0200\n"
"PO-Revision-Date: 2010-10-10 10:10+0300\n" "PO-Revision-Date: 2014-05-10 05:10+0200\n"
"Last-Translator: Arthur Konovalov\n" "Last-Translator: Arthur Konovalov\n"
"Language-Team: Estonian <vdr@linuxtv.org>\n" "Language-Team: Estonian <vdr@linuxtv.org>\n"
"Language: et\n" "Language: et\n"

View File

@@ -1,14 +1,14 @@
# VDR plugin language source file. # VDR plugin language source file.
# Copyright (C) 2007 Rolf Ahrenberg # Copyright (C) 2007-2014 Rolf Ahrenberg
# This file is distributed under the same license as the femon package. # This file is distributed under the same license as the femon package.
# Rolf Ahrenberg # Rolf Ahrenberg
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: vdr-femon 1.7.18\n" "Project-Id-Version: vdr-femon 2.1.1\n"
"Report-Msgid-Bugs-To: <see README>\n" "Report-Msgid-Bugs-To: <see README>\n"
"POT-Creation-Date: 2010-10-10 10:10+0300\n" "POT-Creation-Date: 2014-05-10 05:10+0200\n"
"PO-Revision-Date: 2010-10-10 10:10+0300\n" "PO-Revision-Date: 2014-05-10 05:10+0200\n"
"Last-Translator: Rolf Ahrenberg\n" "Last-Translator: Rolf Ahrenberg\n"
"Language-Team: Finnish <vdr@linuxtv.org>\n" "Language-Team: Finnish <vdr@linuxtv.org>\n"
"Language: fi\n" "Language: fi\n"
@@ -170,7 +170,7 @@ msgid "Nid"
msgstr "Verkko-ID" msgstr "Verkko-ID"
msgid "Tid" msgid "Tid"
msgstr "Lähete-ID" msgstr "TS-ID"
msgid "Rid" msgid "Rid"
msgstr "Radio-ID" msgstr "Radio-ID"
@@ -387,9 +387,3 @@ msgstr "Mbit/s"
msgid "kbit/s" msgid "kbit/s"
msgstr "kbit/s" msgstr "kbit/s"
#~ msgid "Information"
#~ msgstr "Tiedot"
#~ msgid "Statistics"
#~ msgstr "Tilastot"

View File

@@ -1,26 +1,28 @@
# VDR plugin language source file. # VDR plugin language source file.
# Copyright (C) 2007 Rolf Ahrenberg # Copyright (C) 2007-2014 Rolf Ahrenberg
# This file is distributed under the same license as the femon package. # This file is distributed under the same license as the femon package.
# Nicolas Huillard # Nicolas Huillard
# Michaël Nival <mnival@club-internet.fr>, 2010
# Bernard Jaulin <bernard.jaulin@gmail.com>, 2013
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: vdr-femon 1.7.18\n" "Project-Id-Version: vdr-femon 2.1.1\n"
"Report-Msgid-Bugs-To: <see README>\n" "Report-Msgid-Bugs-To: <see README>\n"
"POT-Creation-Date: 2010-10-10 10:10+0300\n" "POT-Creation-Date: 2014-05-10 05:10+0200\n"
"PO-Revision-Date: 2010-10-10 10:10+0300\n" "PO-Revision-Date: 2014-05-10 05:10+0200\n"
"Last-Translator: NIVAL Micha<68>l <mnival@club-internet.fr>\n" "Last-Translator: Bernard Jaulin <bernard.jaulin@gmail.com>\n"
"Language-Team: French <vdr@linuxtv.org>\n" "Language-Team: French <vdr@linuxtv.org>\n"
"Language: fr\n" "Language: fr\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-1\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
msgid "DVB Signal Information Monitor (OSD)" msgid "DVB Signal Information Monitor (OSD)"
msgstr "Affiche les informations du signal DVB" msgstr "Moniteur sur le signal DVB"
msgid "Signal Information" msgid "Signal Information"
msgstr "Signal DVB" msgstr "Infos sur le signal DVB"
msgid "Femon not available" msgid "Femon not available"
msgstr "Femon n'est pas disponible" msgstr "Femon n'est pas disponible"
@@ -71,91 +73,91 @@ msgid "Hide main menu entry"
msgstr "Masquer dans le menu principal" msgstr "Masquer dans le menu principal"
msgid "Define whether the main menu entry is hidden." msgid "Define whether the main menu entry is hidden."
msgstr "D<EFBFBD>finit si l'entr<EFBFBD>e doit <EFBFBD>tre masqu<EFBFBD>e dans le menu principal." msgstr "Définit si l'entrée doit être masquée dans le menu principal."
msgid "Default display mode" msgid "Default display mode"
msgstr "Affichage par d<EFBFBD>faut" msgstr "Affichage par défaut"
msgid "Define the default display mode at startup." msgid "Define the default display mode at startup."
msgstr "D<EFBFBD>finit l'affichage par d<EFBFBD>faut au d<EFBFBD>marrage." msgstr "Définit l'affichage par défaut au démarrage."
msgid "Define the used OSD skin." msgid "Define the used OSD skin."
msgstr "D<EFBFBD>finit le skin OSD <EFBFBD> utiliser." msgstr "Définit le skin OSD à utiliser."
msgid "Define the used OSD theme." msgid "Define the used OSD theme."
msgstr "D<EFBFBD>finit le th<EFBFBD>me OSD <EFBFBD> utiliser." msgstr "Définit le thème OSD à utiliser."
msgid "Position" msgid "Position"
msgstr "Position" msgstr "Position"
msgid "Define the position of OSD." msgid "Define the position of OSD."
msgstr "D<EFBFBD>finit la position de l'OSD." msgstr "Définit la position de l'OSD."
msgid "Downscale OSD size [%]" msgid "Downscale OSD size [%]"
msgstr "" msgstr "Réduit la taille de l'OSD (%)"
msgid "Define the downscale ratio for OSD size." msgid "Define the downscale ratio for OSD size."
msgstr "" msgstr "Définit le ration de réduction de l'OSD."
msgid "Red limit [%]" msgid "Red limit [%]"
msgstr "Limite du rouge (%)" msgstr "Limite du rouge (%)"
msgid "Define a limit for red bar, which is used to indicate a bad signal." msgid "Define a limit for red bar, which is used to indicate a bad signal."
msgstr "D<EFBFBD>finit la limite de la barre rouge, qui est utilis<EFBFBD> pour indiquer un mauvais signal." msgstr "Définit la limite de la barre rouge, qui est utilisé pour indiquer un mauvais signal."
msgid "Green limit [%]" msgid "Green limit [%]"
msgstr "Limite du vert (%)" msgstr "Limite du vert (%)"
msgid "Define a limit for green bar, which is used to indicate a good signal." msgid "Define a limit for green bar, which is used to indicate a good signal."
msgstr "D<EFBFBD>finit la limite de la barre rouge, qui est utilis<EFBFBD> pour indiquer un bon signal." msgstr "Définit la limite de la barre rouge, qui est utilisé pour indiquer un bon signal."
msgid "OSD update interval [0.1s]" msgid "OSD update interval [0.1s]"
msgstr "Intervalle de mise <EFBFBD> jour (0,1s)" msgstr "Intervalle de mise à jour (0,1s)"
msgid "Define an interval for OSD updates. The smaller interval generates higher CPU load." msgid "Define an interval for OSD updates. The smaller interval generates higher CPU load."
msgstr "D<EFBFBD>finit l'intervalle de mise <EFBFBD> jour de l'OSD. Un petit intervalle g<EFBFBD>n<EFBFBD>re une charge CPU plus importante." msgstr "Définit l'intervalle de mise à jour de l'OSD. Un petit intervalle génère une charge CPU plus importante."
msgid "Analyze stream" msgid "Analyze stream"
msgstr "Analyser le flux" msgstr "Analyser le flux"
msgid "Define whether the DVB stream is analyzed and bitrates calculated." msgid "Define whether the DVB stream is analyzed and bitrates calculated."
msgstr "D<EFBFBD>finit si le flux DVB est analys<EFBFBD> et le bitrates calcul<EFBFBD>." msgstr "Définit si le flux DVB est analysé et le taux d'échantillonnage fixe calculé."
msgid "Calculation interval [0.1s]" msgid "Calculation interval [0.1s]"
msgstr "Intervalle de calcul (0,1s)" msgstr "Intervalle de calcul (0,1s)"
msgid "Define an interval for calculation. The bigger interval generates more stable values." msgid "Define an interval for calculation. The bigger interval generates more stable values."
msgstr "D<EFBFBD>finit l'intervalle de cacul. Un plus grand intervalle g<EFBFBD>n<EFBFBD>re une valeur plus stable." msgstr "Définit l'intervalle de cacul. Un plus grand intervalle génère une valeur plus stable."
msgid "Use SVDRP service" msgid "Use SVDRP service"
msgstr "Utiliser le service SVDRP" msgstr "Utiliser le service SVDRP"
msgid "Define whether the SVDRP service is used in client/server setups." msgid "Define whether the SVDRP service is used in client/server setups."
msgstr "D<EFBFBD>finit si le service SVDRP est utilis<EFBFBD> en configuration client/serveur." msgstr "Définit si le service SVDRP est utilisé dans la configuration client/serveur."
msgid "SVDRP service port" msgid "SVDRP service port"
msgstr "Port du service SVDRP" msgstr "Port du service SVDRP"
msgid "Define the port number of SVDRP service." msgid "Define the port number of SVDRP service."
msgstr "D<EFBFBD>finit le port d'<EFBFBD>coute du service SVDRP." msgstr "Définit le port d'écoute du service SVDRP."
msgid "SVDRP service IP" msgid "SVDRP service IP"
msgstr "IP du service SVDRP" msgstr "IP du service SVDRP"
msgid "Define the IP address of SVDRP service." msgid "Define the IP address of SVDRP service."
msgstr "D<EFBFBD>finit l'adresse IP du service SVDRP." msgstr "Définit l'adresse IP du service SVDRP."
msgid "Help" msgid "Help"
msgstr "Aide" msgstr "Aide"
msgid "Video" msgid "Video"
msgstr "Vid<EFBFBD>o" msgstr "Vidéo"
msgid "Audio" msgid "Audio"
msgstr "Audio" msgstr "Audio"
msgid "Transponder Information" msgid "Transponder Information"
msgstr "Information transpondeur" msgstr "Information du transpondeur"
msgid "Apid" msgid "Apid"
msgstr "Apid" msgstr "Apid"
@@ -179,40 +181,40 @@ msgid "Coderate"
msgstr "Coderate" msgstr "Coderate"
msgid "Protocol" msgid "Protocol"
msgstr "" msgstr "Protocole"
msgid "Bitrate" msgid "Bitrate"
msgstr "Bitrate" msgstr "Taux d'échantillonnage fixe"
msgid "Stream Information" msgid "Stream Information"
msgstr "Information flux" msgstr "Information sur le flux"
msgid "Video Stream" msgid "Video Stream"
msgstr "Flux vid<EFBFBD>o" msgstr "Flux vidéo"
msgid "Codec" msgid "Codec"
msgstr "" msgstr "Codec"
msgid "Aspect Ratio" msgid "Aspect Ratio"
msgstr "Proportions d'image" msgstr "Format de l'image"
msgid "Frame Rate" msgid "Frame Rate"
msgstr "Rafra<EFBFBD>chissement" msgstr "Rafraîchissement"
msgid "Video Format" msgid "Video Format"
msgstr "Standard vid<EFBFBD>o" msgstr "Standard vidéo"
msgid "Resolution" msgid "Resolution"
msgstr "R<EFBFBD>solution" msgstr "Résolution"
msgid "Audio Stream" msgid "Audio Stream"
msgstr "Flux audio" msgstr "Flux audio"
msgid "Channel Mode" msgid "Channel Mode"
msgstr "" msgstr "Mode chaîne"
msgid "Sampling Frequency" msgid "Sampling Frequency"
msgstr "Fr<EFBFBD>quence d'<EFBFBD>chantillonage" msgstr "Fréquence d'échantillonage"
msgid "AC-3 Stream" msgid "AC-3 Stream"
msgstr "Flux AC-3" msgstr "Flux AC-3"
@@ -245,64 +247,64 @@ msgid "Analog"
msgstr "Analogique" msgstr "Analogique"
msgid "MPEG-2" msgid "MPEG-2"
msgstr "" msgstr "MPEG-2"
msgid "H.264" msgid "H.264"
msgstr "" msgstr "H.264"
msgid "MPEG-1 Layer I" msgid "MPEG-1 Layer I"
msgstr "" msgstr "MPEG-1 Layer I"
msgid "MPEG-1 Layer II" msgid "MPEG-1 Layer II"
msgstr "" msgstr "MPEG-1 Layer II"
msgid "MPEG-1 Layer III" msgid "MPEG-1 Layer III"
msgstr "" msgstr "MPEG-1 Layer III"
msgid "MPEG-2 Layer I" msgid "MPEG-2 Layer I"
msgstr "" msgstr "MPEG-2 Layer I"
msgid "MPEG-2 Layer II" msgid "MPEG-2 Layer II"
msgstr "" msgstr "MPEG-2 Layer II"
msgid "MPEG-2 Layer III" msgid "MPEG-2 Layer III"
msgstr "" msgstr "MPEG-2 Layer III"
msgid "HE-AAC" msgid "HE-AAC"
msgstr "" msgstr "HE-AAC"
msgid "LATM" msgid "LATM"
msgstr "" msgstr "LATM"
msgid "stereo" msgid "stereo"
msgstr "" msgstr "stéréo"
msgid "joint Stereo" msgid "joint Stereo"
msgstr "" msgstr "joint Stereo"
msgid "dual" msgid "dual"
msgstr "" msgstr "double"
msgid "mono" msgid "mono"
msgstr "" msgstr "mono"
msgid "interlaced" msgid "interlaced"
msgstr "" msgstr "entrelacé"
msgid "progressive" msgid "progressive"
msgstr "" msgstr "progressif"
msgid "reserved" msgid "reserved"
msgstr "r<EFBFBD>serv<EFBFBD>" msgstr "réservé"
msgid "extended" msgid "extended"
msgstr "" msgstr "étendu"
msgid "unknown" msgid "unknown"
msgstr "inconnu" msgstr "inconnu"
msgid "component" msgid "component"
msgstr "" msgstr "composant"
msgid "PAL" msgid "PAL"
msgstr "PAL" msgstr "PAL"
@@ -311,10 +313,10 @@ msgid "NTSC"
msgstr "NTSC" msgstr "NTSC"
msgid "SECAM" msgid "SECAM"
msgstr "" msgstr "SECAM"
msgid "MAC" msgid "MAC"
msgstr "" msgstr "MAC"
msgid "Hz" msgid "Hz"
msgstr "Hz" msgstr "Hz"
@@ -374,7 +376,7 @@ msgid "dB"
msgstr "dB" msgstr "dB"
msgid "not indicated" msgid "not indicated"
msgstr "non indiqu<EFBFBD>" msgstr "non indiqué"
msgid "MHz" msgid "MHz"
msgstr "MHz" msgstr "MHz"

View File

@@ -1,14 +1,14 @@
# VDR plugin language source file. # VDR plugin language source file.
# Copyright (C) 2007 Rolf Ahrenberg # Copyright (C) 2007-2014 Rolf Ahrenberg
# This file is distributed under the same license as the femon package. # This file is distributed under the same license as the femon package.
# F<>ley Istv<74>n <ifuley at tigercomp dot ro>, 2011 # F<>ley Istv<74>n <ifuley at tigercomp dot ro>, 2011
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: vdr-femon 1.7.18\n" "Project-Id-Version: vdr-femon 2.1.1\n"
"Report-Msgid-Bugs-To: <see README>\n" "Report-Msgid-Bugs-To: <see README>\n"
"POT-Creation-Date: 2010-10-10 10:10+0300\n" "POT-Creation-Date: 2014-05-10 05:10+0200\n"
"PO-Revision-Date: 2010-10-10 10:10+0200\n" "PO-Revision-Date: 2014-05-10 05:10+0200\n"
"Last-Translator: F<>ley Istv<74>n <ifuley at tigercomp dot ro>\n" "Last-Translator: F<>ley Istv<74>n <ifuley at tigercomp dot ro>\n"
"Language-Team: Hungarian <ifuley at tigercomp dot ro>\n" "Language-Team: Hungarian <ifuley at tigercomp dot ro>\n"
"Language: hu\n" "Language: hu\n"

View File

@@ -1,15 +1,15 @@
# VDR plugin language source file. # VDR plugin language source file.
# Copyright (C) 2007 Rolf Ahrenberg # Copyright (C) 2007-2014 Rolf Ahrenberg
# This file is distributed under the same license as the femon package. # This file is distributed under the same license as the femon package.
# Sean Carlos # Sean Carlos
# Diego Pierotto <vdr-italian@tiscali.it> # Diego Pierotto <vdr-italian@tiscali.it>
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: vdr-femon 1.7.18\n" "Project-Id-Version: vdr-femon 2.1.1\n"
"Report-Msgid-Bugs-To: <see README>\n" "Report-Msgid-Bugs-To: <see README>\n"
"POT-Creation-Date: 2010-10-10 10:10+0300\n" "POT-Creation-Date: 2014-05-10 05:10+0200\n"
"PO-Revision-Date: 2010-10-10 10:10+0300\n" "PO-Revision-Date: 2014-05-10 05:10+0200\n"
"Last-Translator: Diego Pierotto <vdr-italian@tiscali.it>\n" "Last-Translator: Diego Pierotto <vdr-italian@tiscali.it>\n"
"Language-Team: Italian <vdr@linuxtv.org>\n" "Language-Team: Italian <vdr@linuxtv.org>\n"
"Language: it\n" "Language: it\n"

View File

@@ -1,14 +1,14 @@
# VDR plugin language source file. # VDR plugin language source file.
# Copyright (C) 2007 Rolf Ahrenberg # Copyright (C) 2007-2014 Rolf Ahrenberg
# This file is distributed under the same license as the femon package. # This file is distributed under the same license as the femon package.
# Valdemaras Pipiras # Valdemaras Pipiras
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: vdr-femon 1.7.18\n" "Project-Id-Version: vdr-femon 2.1.1\n"
"Report-Msgid-Bugs-To: <see README>\n" "Report-Msgid-Bugs-To: <see README>\n"
"POT-Creation-Date: 2010-10-10 10:10+0300\n" "POT-Creation-Date: 2014-05-10 05:10+0200\n"
"PO-Revision-Date: 2010-10-10 10:10+0300\n" "PO-Revision-Date: 2014-05-10 05:10+0200\n"
"Last-Translator: Valdemaras Pipiras <varas@ambernet.lt>\n" "Last-Translator: Valdemaras Pipiras <varas@ambernet.lt>\n"
"Language-Team: Lithuanian <vdr@linuxtv.org>\n" "Language-Team: Lithuanian <vdr@linuxtv.org>\n"
"Language: lt\n" "Language: lt\n"

View File

@@ -1,14 +1,14 @@
# VDR plugin language source file. # VDR plugin language source file.
# Copyright (C) 2007 Rolf Ahrenberg # Copyright (C) 2007-2014 Rolf Ahrenberg
# This file is distributed under the same license as the femon package. # This file is distributed under the same license as the femon package.
# Vyacheslav Dikonov # Vyacheslav Dikonov
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: vdr-femon 1.7.18\n" "Project-Id-Version: vdr-femon 2.1.1\n"
"Report-Msgid-Bugs-To: <see README>\n" "Report-Msgid-Bugs-To: <see README>\n"
"POT-Creation-Date: 2010-10-10 10:10+0300\n" "POT-Creation-Date: 2014-05-10 05:10+0200\n"
"PO-Revision-Date: 2010-10-10 10:10+0300\n" "PO-Revision-Date: 2014-05-10 05:10+0200\n"
"Last-Translator: Vyacheslav Dikonov\n" "Last-Translator: Vyacheslav Dikonov\n"
"Language-Team: Russian <vdr@linuxtv.org>\n" "Language-Team: Russian <vdr@linuxtv.org>\n"
"Language: ru\n" "Language: ru\n"

389
po/sk_SK.po Normal file
View File

@@ -0,0 +1,389 @@
# VDR plugin language source file.
# Copyright (C) 2007-2014 Rolf Ahrenberg
# This file is distributed under the same license as the femon package.
# Milan Hrala
#
msgid ""
msgstr ""
"Project-Id-Version: vdr-femon 2.1.1\n"
"Report-Msgid-Bugs-To: <see README>\n"
"POT-Creation-Date: 2014-05-10 05:10+0200\n"
"PO-Revision-Date: 2014-05-10 05:10+0200\n"
"Last-Translator: Milan Hrala <hrala.milan@gmail.com>\n"
"Language-Team: Slovak <vdr@linuxtv.org>\n"
"Language: sk\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=iso-8859-2\n"
"Content-Transfer-Encoding: 8bit\n"
msgid "DVB Signal Information Monitor (OSD)"
msgstr "DVB Inform<72>cie o sign<67>le (OSD)"
msgid "Signal Information"
msgstr "Inform<72>cie o sign<67>le"
msgid "Femon not available"
msgstr "Femon nie je k dispoz<6F>cii"
msgid "basic"
msgstr "<22>tandardtn<74>"
msgid "transponder"
msgstr "Transpond<6E>r"
msgid "stream"
msgstr "d<>tov<6F> tok"
msgid "AC-3"
msgstr "AC-3"
msgid "Classic"
msgstr "Klasick<63>"
msgid "Elchi"
msgstr "Elchi"
msgid "ST:TNG"
msgstr "ST:TNG"
msgid "DeepBlue"
msgstr "tmavo modr<64>"
msgid "Moronimo"
msgstr "Moronimo"
msgid "Enigma"
msgstr "Enigma"
msgid "EgalsTry"
msgstr "EgalsTry"
msgid "Duotone"
msgstr "Duotone"
msgid "SilverGreen"
msgstr "strieborno zelen<65>"
msgid "PearlHD"
msgstr "PearlHD"
msgid "Hide main menu entry"
msgstr "Schova<76> polo<6C>ku v hlavnom menu"
msgid "Define whether the main menu entry is hidden."
msgstr "Ur<55>ite, <20>i v hlavnom menu bude polo<6C>ka skryt<79>."
msgid "Default display mode"
msgstr "<22>tandardn<64> re<72>im zobrazenia"
msgid "Define the default display mode at startup."
msgstr "Zadajte predvolen<65> re<72>im zobrazenia pri spusten<65>."
msgid "Define the used OSD skin."
msgstr "Zadajte pou<6F>it<69> OSD vzh<7A>ad."
msgid "Define the used OSD theme."
msgstr "Definujte pou<6F>it<69> OSD t<>mu."
msgid "Position"
msgstr "Poz<6F>cia"
msgid "Define the position of OSD."
msgstr "Definujte poz<6F>ciu OSD."
msgid "Downscale OSD size [%]"
msgstr "Zmen<65>i<EFBFBD> ve<76>kos<6F> OSD [%]"
msgid "Define the downscale ratio for OSD size."
msgstr "Zadajte zmen<65>enie pomeru pre OSD ve<76>kosti."
msgid "Red limit [%]"
msgstr "<22>erven<65> limit [%]"
msgid "Define a limit for red bar, which is used to indicate a bad signal."
msgstr "Zadajte limit pre <20>erven<65> pruh , ktor<6F> sa pou<6F><75>va na ozna<6E>enie zl<7A>ho sign<67>lu."
msgid "Green limit [%]"
msgstr "Zelen<65> limit [%]"
msgid "Define a limit for green bar, which is used to indicate a good signal."
msgstr "Zadajte limit pre zelen<65>ho pruhu, ktor<6F> sa pou<6F>ije na ozna<6E>enie dobr<62>ho sign<67>lu."
msgid "OSD update interval [0.1s]"
msgstr "OSD aktualiza<7A>n<EFBFBD> interval [0.1s]"
msgid "Define an interval for OSD updates. The smaller interval generates higher CPU load."
msgstr "Zadajte interval pre aktualiz<69>cie OSD. Men<65><6E> interval vytv<74>ra vy<76><79>ie za<7A>a<EFBFBD>enie CPU."
msgid "Analyze stream"
msgstr "Anal<61>za d<>tov<6F>ho toku"
msgid "Define whether the DVB stream is analyzed and bitrates calculated."
msgstr "Zadajte <20>i sa DVB pr<70>d analyzuje a d<>tov<6F> tok vypo<70><6F>ta."
msgid "Calculation interval [0.1s]"
msgstr "V<>po<70>tov<6F> interval [0.1s]"
msgid "Define an interval for calculation. The bigger interval generates more stable values."
msgstr "Zadajte interval pre v<>po<70>et. V<><56><EFBFBD><EFBFBD> interval vytv<74>ra stabilnej<65>ie hodnoty."
msgid "Use SVDRP service"
msgstr "Pou<6F>i<EFBFBD> SVDRP slu<6C>bu"
msgid "Define whether the SVDRP service is used in client/server setups."
msgstr "Zadajte <20>i sa pou<6F>ije slu<6C>ba SVDRP v klient / server nastaveniach."
msgid "SVDRP service port"
msgstr "Port SVDRP slu<6C>by"
msgid "Define the port number of SVDRP service."
msgstr "Zadajte <20><>slo portu slu<6C>by SVDRP."
msgid "SVDRP service IP"
msgstr "IP SVDRP slu<6C>by"
msgid "Define the IP address of SVDRP service."
msgstr "zadajte IP adresu slu<6C>by SVDRP."
msgid "Help"
msgstr "Pomoc"
msgid "Video"
msgstr "Video"
msgid "Audio"
msgstr "Zvuk"
msgid "Transponder Information"
msgstr "Inform<72>cie transpond<6E>ra"
msgid "Apid"
msgstr "Apid"
msgid "Dpid"
msgstr "Dpid"
msgid "Spid"
msgstr "Spid"
msgid "Nid"
msgstr "Nid"
msgid "Tid"
msgstr "Tid"
msgid "Rid"
msgstr "Rid"
msgid "Coderate"
msgstr "r<>chlos<6F> k<>dovania"
msgid "Protocol"
msgstr "Protokol"
msgid "Bitrate"
msgstr "D<>tov<6F> tok"
msgid "Stream Information"
msgstr "Inform<72>cie o d<>tovom toku"
msgid "Video Stream"
msgstr "Video stopa"
msgid "Codec"
msgstr "kodek"
msgid "Aspect Ratio"
msgstr "Pomer str<74>n"
msgid "Frame Rate"
msgstr "Po<50>et sn<73>mkov"
msgid "Video Format"
msgstr "Video form<72>t"
msgid "Resolution"
msgstr "Rozl<7A><6C>enie"
msgid "Audio Stream"
msgstr "Zvukov<6F> stopa"
msgid "Channel Mode"
msgstr "re<72>im kan<61>la"
msgid "Sampling Frequency"
msgstr "Vzorkovacia frekvencia"
msgid "AC-3 Stream"
msgstr "AC-3 d<>tov<6F> tok"
msgid "Bit Stream Mode"
msgstr "re<72>im bitov<6F>ho toku"
msgid "Audio Coding Mode"
msgstr "Re<52><65>m k<>dovania zvuku"
msgid "Center Mix Level"
msgstr "<22>rove<76> Center mix"
msgid "Surround Mix Level"
msgstr "<22>rove<76> Surround mix"
msgid "Dolby Surround Mode"
msgstr "Dolby Surround re<72><65>m"
msgid "Low Frequency Effects"
msgstr "Basov<6F> efekty"
msgid "Dialogue Normalization"
msgstr "<22>tandartn<74> dial<61>g"
msgid "Fixed"
msgstr "Pevn<76>"
msgid "Analog"
msgstr "Anal<61>g"
msgid "MPEG-2"
msgstr "MPEG-2"
msgid "H.264"
msgstr "H.264"
msgid "MPEG-1 Layer I"
msgstr "MPEG-1 vrstva I"
msgid "MPEG-1 Layer II"
msgstr "MPEG-1 vrstva II"
msgid "MPEG-1 Layer III"
msgstr "MPEG-1 vrstva III"
msgid "MPEG-2 Layer I"
msgstr "MPEG-2 vrstva I"
msgid "MPEG-2 Layer II"
msgstr "MPEG-2 vrstva II"
msgid "MPEG-2 Layer III"
msgstr "MPEG-2 vrstva III"
msgid "HE-AAC"
msgstr "HE-AAC"
msgid "LATM"
msgstr "LATM"
msgid "stereo"
msgstr "stereo"
msgid "joint Stereo"
msgstr "spojen<65> stereo"
msgid "dual"
msgstr "dvojit<69>"
msgid "mono"
msgstr "mono"
msgid "interlaced"
msgstr "prekladan<61>"
msgid "progressive"
msgstr "progres<65>vny"
msgid "reserved"
msgstr "obsaden<65>"
msgid "extended"
msgstr "roz<6F><7A>ren<65>"
msgid "unknown"
msgstr "nezn<7A>my"
msgid "component"
msgstr "s<><73>as<61>"
msgid "PAL"
msgstr "PAL"
msgid "NTSC"
msgstr "NTSC"
msgid "SECAM"
msgstr "SECAM"
msgid "MAC"
msgstr "MAC"
msgid "Hz"
msgstr "Hz"
msgid "Complete Main (CM)"
msgstr "Kompletne hlavn<76> (CM)"
msgid "Music and Effects (ME)"
msgstr "Hudba a efekty (ME)"
msgid "Visually Impaired (VI)"
msgstr "zrakovo postihnut<75> (VI)"
msgid "Hearing Impaired (HI)"
msgstr "sluchovo postihnut<75> (HI)"
msgid "Dialogue (D)"
msgstr "Dial<61>g (D)"
msgid "Commentary (C)"
msgstr "Koment<6E>r (C)"
msgid "Emergency (E)"
msgstr "Pohotovostn<74> (E)"
msgid "Voice Over (VO)"
msgstr "Viacvrstvov<6F> hlas (VO)"
msgid "Karaoke"
msgstr "Karaoke"
msgid "Ch1"
msgstr "kan<61>l1"
msgid "Ch2"
msgstr "kan<61>l2"
msgid "C"
msgstr "C"
msgid "L"
msgstr "L"
msgid "R"
msgstr "R"
msgid "S"
msgstr "S"
msgid "SL"
msgstr "SL"
msgid "SR"
msgstr "SR"
msgid "dB"
msgstr "dB"
msgid "not indicated"
msgstr "nie je uveden<65>"
msgid "MHz"
msgstr "MHz"
msgid "free"
msgstr "vo<76>n<EFBFBD>"
msgid "Mbit/s"
msgstr "Mbit/s"
msgid "kbit/s"
msgstr "kbit/s"

View File

@@ -4,18 +4,17 @@
# Yarema aka Knedlyk <yupadmin@gmail.com>, 2010. # Yarema aka Knedlyk <yupadmin@gmail.com>, 2010.
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: vdr-femon 1.7.18\n" "Project-Id-Version: vdr-femon 2.1.1\n"
"Report-Msgid-Bugs-To: <see README>\n" "Report-Msgid-Bugs-To: <see README>\n"
"POT-Creation-Date: 2010-10-10 10:10+0300\n" "POT-Creation-Date: 2014-05-10 05:10+0200\n"
"PO-Revision-Date: 2010-10-10 10:10+0300\n" "PO-Revision-Date: 2014-05-10 05:10+0200\n"
"Last-Translator: Yarema aka Knedlyk <yupadmin@gmail.com>\n" "Last-Translator: Yarema aka Knedlyk <yupadmin@gmail.com>\n"
"Language-Team: Ukrainian <translation@linux.org.ua>\n" "Language-Team: Ukrainian <translation@linux.org.ua>\n"
"Language: uk\n" "Language: uk\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\\n\n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\\n\n"
msgid "DVB Signal Information Monitor (OSD)" msgid "DVB Signal Information Monitor (OSD)"
msgstr "Монітор інформації про DVB сигнал" msgstr "Монітор інформації про DVB сигнал"
@@ -113,12 +112,8 @@ msgstr "Визначення границі зеленої поділки, як
msgid "OSD update interval [0.1s]" msgid "OSD update interval [0.1s]"
msgstr "Інтервал оновлення повідомлень [0.1с]" msgstr "Інтервал оновлення повідомлень [0.1с]"
msgid "" msgid "Define an interval for OSD updates. The smaller interval generates higher CPU load."
"Define an interval for OSD updates. The smaller interval generates higher " msgstr "Визначення інтервалу оновлення повідомлень. Малий інтервал спричинює більше завантаження процесора."
"CPU load."
msgstr ""
"Визначення інтервалу оновлення повідомлень. Малий інтервал спричинює більше "
"завантаження процесора."
msgid "Analyze stream" msgid "Analyze stream"
msgstr "Аналіз потоку" msgstr "Аналіз потоку"
@@ -129,19 +124,14 @@ msgstr "Визначення, чи проводити аналіз DVB пото
msgid "Calculation interval [0.1s]" msgid "Calculation interval [0.1s]"
msgstr "Інтервал обчислення [0.1с]" msgstr "Інтервал обчислення [0.1с]"
msgid "" msgid "Define an interval for calculation. The bigger interval generates more stable values."
"Define an interval for calculation. The bigger interval generates more " msgstr "Визначення інтервалу обчислення. Більший інтервал дає стабільніші значення."
"stable values."
msgstr ""
"Визначення інтервалу обчислення. Більший інтервал дає стабільніші значення."
msgid "Use SVDRP service" msgid "Use SVDRP service"
msgstr "Використати SVDRP сервіс" msgstr "Використати SVDRP сервіс"
msgid "Define whether the SVDRP service is used in client/server setups." msgid "Define whether the SVDRP service is used in client/server setups."
msgstr "" msgstr "Визначення чи буде використовуватися SVDRP сервіс в налаштуваннях клієнта/сервера"
"Визначення чи буде використовуватися SVDRP сервіс в налаштуваннях клієнта/"
"сервера"
msgid "SVDRP service port" msgid "SVDRP service port"
msgstr "Порт SVDRP сервісу" msgstr "Порт SVDRP сервісу"

View File

@@ -1,14 +1,14 @@
# VDR plugin language source file. # VDR plugin language source file.
# Copyright (C) 2007 Rolf Ahrenberg # Copyright (C) 2007-2014 Rolf Ahrenberg
# This file is distributed under the same license as the femon package. # This file is distributed under the same license as the femon package.
# Nan Feng VDR <nfgx@21cn.com>, 2009.2 # Nan Feng VDR <nfgx@21cn.com>, 2009.2
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: vdr-femon 1.7.18\n" "Project-Id-Version: vdr-femon 2.1.1\n"
"Report-Msgid-Bugs-To: <see README>\n" "Report-Msgid-Bugs-To: <see README>\n"
"POT-Creation-Date: 2010-10-10 10:10+0300\n" "POT-Creation-Date: 2014-05-10 05:10+0200\n"
"PO-Revision-Date: 2010-10-10 10:10+0300\n" "PO-Revision-Date: 2014-05-10 05:10+0200\n"
"Last-Translator: NanFeng <nfgx@21cn.com>\n" "Last-Translator: NanFeng <nfgx@21cn.com>\n"
"Language-Team: Chinese (simplified) <vdr@linuxtv.org>\n" "Language-Team: Chinese (simplified) <vdr@linuxtv.org>\n"
"Language: zh_CN\n" "Language: zh_CN\n"

View File

@@ -1,14 +1,14 @@
# VDR plugin language source file. # VDR plugin language source file.
# Copyright (C) 2007 Rolf Ahrenberg # Copyright (C) 2007-2014 Rolf Ahrenberg
# This file is distributed under the same license as the femon package. # This file is distributed under the same license as the femon package.
# Nan Feng VDR <nfgx@21cn.com>, 2009.2 # Nan Feng VDR <nfgx@21cn.com>, 2009.2
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: vdr-femon 1.7.18\n" "Project-Id-Version: vdr-femon 2.1.1\n"
"Report-Msgid-Bugs-To: <see README>\n" "Report-Msgid-Bugs-To: <see README>\n"
"POT-Creation-Date: 2010-10-10 10:10+0300\n" "POT-Creation-Date: 2014-05-10 05:10+0200\n"
"PO-Revision-Date: 2010-10-10 10:10+0300\n" "PO-Revision-Date: 2014-05-10 05:10+0200\n"
"Last-Translator: NanFeng <nfgx@21cn.com>\n" "Last-Translator: NanFeng <nfgx@21cn.com>\n"
"Language-Team: Chinese (traditional) <vdr@linuxtv.org>\n" "Language-Team: Chinese (traditional) <vdr@linuxtv.org>\n"
"Language: zh_TW\n" "Language: zh_TW\n"