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

Compare commits

...

28 Commits

Author SHA1 Message Date
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
Rolf Ahrenberg
046c94d39c Updated vdr-femonclient. 2013-02-10 17:23:49 +02:00
Rolf Ahrenberg
c3506e2279 Updated for vdr-1.7.37. 2013-02-10 16:51:51 +02:00
Rolf Ahrenberg
d0b6944292 Declared cppcheck as a PHONY target. 2013-01-22 22:11:23 +02:00
Rolf Ahrenberg
932f727e91 Removed OBJS dependency from cppcheck target. 2013-01-22 22:05:20 +02:00
Rolf Ahrenberg
e8fa85929a Updated for vdr-1.7.36. 2013-01-20 21:30:51 +02:00
Rolf Ahrenberg
70cda8a640 Updated translation files. 2013-01-04 00:18:20 +02:00
Rolf Ahrenberg
655b5a1865 Updated for vdr-1.7.35. Modified how the receiver is detached. Updated the femonclient plugin. 2013-01-03 23:34:19 +02:00
Rolf Ahrenberg
2f6b971c92 Added Ukrainian translation (Thanks to Yarema aka Knedlyk). 2012-12-01 00:10:47 +02:00
Rolf Ahrenberg
379de93bee Remove the obsolete notes. 2012-04-04 22:02:59 +03:00
24 changed files with 1115 additions and 235 deletions

33
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
=================================== ===================================
@@ -453,3 +454,33 @@ VDR Plugin 'femon' Revision History
- Silenced error log messages when accessing pseudo devices. - Silenced error log messages when accessing pseudo devices.
- Added a new theme: PearlHD (Thanks to Taipan @ VDRPortal). - Added a new theme: PearlHD (Thanks to Taipan @ VDRPortal).
- Added the transponder info window support for IPTV devices. - Added the transponder info window support for IPTV devices.
2013-02-10: Version 1.7.18
- Updated for vdr-1.7.37.
- Modified how the receiver is detached.
- 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.

View File

@@ -3,17 +3,17 @@
# #
# Debugging on/off # Debugging on/off
#FEMON_DEBUG = 1 #FEMON_DEBUG = 1
# Strip debug symbols? Set eg. to /bin/true if not # Strip debug symbols? Set eg. to /bin/true if not
STRIP = strip STRIP = strip
# The official name of this plugin. # The official name of this plugin.
# This name will be used in the '-P...' option of VDR to load the plugin. # This name will be used in the '-P...' option of VDR to load the plugin.
# By default the main source file also carries this name. # By default the main source file also carries this name.
# IMPORTANT: the presence of this macro is important for the Make.config
# file. So it must be defined, even if it is not used here!
#
PLUGIN = femon PLUGIN = femon
### The version number of this plugin (taken from the main source file): ### The version number of this plugin (taken from the main source file):
@@ -21,40 +21,43 @@ PLUGIN = femon
VERSION = $(shell grep 'static const char VERSION\[\] *=' $(PLUGIN).c | awk '{ print $$6 }' | sed -e 's/[";]//g') VERSION = $(shell grep 'static const char VERSION\[\] *=' $(PLUGIN).c | awk '{ print $$6 }' | sed -e 's/[";]//g')
GITTAG = $(shell git describe --always 2>/dev/null) GITTAG = $(shell git describe --always 2>/dev/null)
### The C++ compiler and options:
CXX ?= g++
CXXFLAGS ?= -fPIC -g -O3 -Wall -Wextra -Wswitch-default -Wfloat-equal -Wundef -Wpointer-arith -Wconversion -Wcast-align -Wredundant-decls -Wno-unused-parameter -Werror=overloaded-virtual -Wno-parentheses
LDFLAGS ?= -Wl,--as-needed
### The directory environment: ### The directory environment:
VDRDIR ?= ../../.. # Use package data if installed...otherwise assume we're under the VDR source directory:
LIBDIR ?= ../../lib 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)
LOCDIR = $(call PKGCFG,locdir)
PLGCFG = $(call PKGCFG,plgcfg)
#
TMPDIR ?= /tmp TMPDIR ?= /tmp
### Make sure that necessary options are included: ### The compiler options:
-include $(VDRDIR)/Make.global export CFLAGS = $(call PKGCFG,cflags)
export CXXFLAGS = $(call PKGCFG,cxxflags)
### The version number of VDR's plugin API:
APIVERSION = $(call PKGCFG,apiversion)
### Allow user defined options to overwrite defaults: ### Allow user defined options to overwrite defaults:
-include $(VDRDIR)/Make.config -include $(PLGCFG)
### The version number of VDR's plugin API (taken from VDR's "config.h"):
APIVERSION = $(shell sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$$/\1/p' $(VDRDIR)/config.h)
### The name of the distribution archive: ### The name of the distribution archive:
ARCHIVE = $(PLUGIN)-$(VERSION) ARCHIVE = $(PLUGIN)-$(VERSION)
PACKAGE = vdr-$(ARCHIVE) PACKAGE = vdr-$(ARCHIVE)
### The name of the shared object file:
SOFILE = libvdr-$(PLUGIN).so
### Includes and Defines (add further entries here): ### Includes and Defines (add further entries here):
INCLUDES += -I$(VDRDIR)/include INCLUDES +=
DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"' DEFINES += -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
ifdef FEMON_DEBUG ifdef FEMON_DEBUG
DEFINES += -DDEBUG DEFINES += -DDEBUG
@@ -69,59 +72,64 @@ all-redirect: all
### The object files (add further files here): ### The object files (add further files here):
OBJS = femon.o femonosd.o femonreceiver.o femoncfg.o femontools.o femonmpeg.o femonac3.o femonaac.o femonlatm.o femonh264.o femonsymbol.o OBJS = $(PLUGIN).o femonosd.o femonreceiver.o femoncfg.o femontools.o femonmpeg.o femonac3.o femonaac.o femonlatm.o femonh264.o femonsymbol.o
### The main target: ### The main target:
all: libvdr-$(PLUGIN).so i18n all: $(SOFILE) i18n
### Implicit rules: ### Implicit rules:
%.o: %.c Makefile %.o: %.c
$(CXX) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) $< $(CXX) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) -o $@ $<
### Dependencies: ### Dependencies:
MAKEDEP = $(CXX) -MM -MG MAKEDEP = $(CXX) -MM -MG
DEPFILE = .dependencies DEPFILE = .dependencies
$(DEPFILE): Makefile $(DEPFILE): Makefile
@$(MAKEDEP) $(DEFINES) $(INCLUDES) $(OBJS:%.o=%.c) > $@ @$(MAKEDEP) $(CXXFLAGS) $(DEFINES) $(INCLUDES) $(OBJS:%.o=%.c) > $@
-include $(DEPFILE) -include $(DEPFILE)
### Internationalization (I18N): ### Internationalization (I18N):
PODIR = po PODIR = po
LOCALEDIR = $(VDRDIR)/locale
I18Npo = $(wildcard $(PODIR)/*.po) I18Npo = $(wildcard $(PODIR)/*.po)
I18Nmsgs = $(addprefix $(LOCALEDIR)/, $(addsuffix /LC_MESSAGES/vdr-$(PLUGIN).mo, $(notdir $(foreach file, $(I18Npo), $(basename $(file)))))) I18Nmo = $(addsuffix .mo, $(foreach file, $(I18Npo), $(basename $(file))))
I18Nmsgs = $(addprefix $(DESTDIR)$(LOCDIR)/, $(addsuffix /LC_MESSAGES/vdr-$(PLUGIN).mo, $(notdir $(foreach file, $(I18Npo), $(basename $(file))))))
I18Npot = $(PODIR)/$(PLUGIN).pot I18Npot = $(PODIR)/$(PLUGIN).pot
%.mo: %.po %.mo: %.po
msgfmt -c -o $@ $< msgfmt -c -o $@ $<
$(I18Npot): $(wildcard *.c) $(I18Npot): $(wildcard *.c)
xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --package-name='vdr-$(PLUGIN)' --package-version='$(VERSION)' --msgid-bugs-address='<see README>' -o $@ `ls $^` xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --package-name=vdr-$(PLUGIN) --package-version=$(VERSION) --msgid-bugs-address='<see README>' -o $@ `ls $^`
%.po: $(I18Npot) %.po: $(I18Npot)
msgmerge -U --no-wrap --no-location --backup=none -q $@ $< msgmerge -U --no-wrap --no-location --backup=none -q -N $@ $<
@touch $@ @touch $@
$(I18Nmsgs): $(LOCALEDIR)/%/LC_MESSAGES/vdr-$(PLUGIN).mo: $(PODIR)/%.mo $(I18Nmsgs): $(DESTDIR)$(LOCDIR)/%/LC_MESSAGES/vdr-$(PLUGIN).mo: $(PODIR)/%.mo
@mkdir -p $(dir $@) install -D -m644 $< $@
cp $< $@
.PHONY: i18n .PHONY: i18n
i18n: $(I18Nmsgs) $(I18Npot) i18n: $(I18Nmo) $(I18Npot)
install-i18n: $(I18Nmsgs)
### Targets: ### Targets:
libvdr-$(PLUGIN).so: $(OBJS) $(SOFILE): $(OBJS)
$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@ $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@
ifndef FEMON_DEBUG ifndef FEMON_DEBUG
@$(STRIP) $@ @$(STRIP) $@
endif endif
@cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
install-lib: $(SOFILE)
install -D $^ $(DESTDIR)$(LIBDIR)/$^.$(APIVERSION)
install: install-lib install-i18n
dist: $(I18Npo) clean dist: $(I18Npo) clean
@-rm -rf $(TMPDIR)/$(ARCHIVE) @-rm -rf $(TMPDIR)/$(ARCHIVE)
@@ -132,7 +140,9 @@ dist: $(I18Npo) clean
@echo Distribution package created as $(PACKAGE).tgz @echo Distribution package created as $(PACKAGE).tgz
clean: clean:
@-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~ $(PODIR)/*.mo $(PODIR)/*.pot @-rm -f $(PODIR)/*.mo $(PODIR)/*.pot
@-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~
cppcheck: $(OBJS) .PHONY: cppcheck
@cppcheck --enable=information,style,unusedFunction -v -f $(OBJS:%.o=%.c) cppcheck:
@cppcheck --language=c++ --enable=all -v -f $(OBJS:%.o=%.c)

10
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:
@@ -97,9 +92,6 @@ the local device number.
Notes: Notes:
- The plugin supports only those DVB cards with _one_ frontend, because I
haven't yet figured howto do it without patching the VDR core.
- Disable the stream analyze to speed up heavy zapping sessions. - Disable the stream analyze to speed up heavy zapping sessions.
- The signal strength and signal-to-noise ratio values are comparable only - The signal strength and signal-to-noise ratio values are comparable only

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 < 10727 #if defined(APIVERSNUM) && APIVERSNUM < 20000
#error "VDR-1.7.27 API version or greater is required!" #error "VDR-2.0.0 API version or greater is required!"
#endif #endif
#ifndef GITVERSION #ifndef GITVERSION
#define GITVERSION "" #define GITVERSION ""
#endif #endif
static const char VERSION[] = "1.7.17" GITVERSION; static const char VERSION[] = "2.0.2" 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

@@ -434,8 +434,9 @@ 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()));
}
} }
break; break;
@@ -471,8 +472,9 @@ 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()));
}
} }
break; break;
@@ -488,7 +490,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;
} }
} }
} }
@@ -834,26 +835,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

@@ -81,12 +81,12 @@ cFemonReceiver::~cFemonReceiver(void)
void cFemonReceiver::Deactivate(void) void cFemonReceiver::Deactivate(void)
{ {
debug("%s()\n", __PRETTY_FUNCTION__); debug("%s()\n", __PRETTY_FUNCTION__);
Detach();
if (m_Active) { if (m_Active) {
m_Active = false; m_Active = false;
m_Sleep.Signal(); m_Sleep.Signal();
if (Running()) if (Running())
Cancel(3); Cancel(3);
Detach();
} }
} }

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

@@ -88,9 +88,9 @@ cDvbDevice *getDvbDevice(cDevice* device)
cString getFrontendInfo(cDvbDevice *device) cString getFrontendInfo(cDvbDevice *device)
{ {
cString info;
struct dvb_frontend_info value; struct dvb_frontend_info value;
fe_status_t status; fe_status_t status;
cString info = "";
uint16_t signal = 0; uint16_t signal = 0;
uint16_t snr = 0; uint16_t snr = 0;
uint32_t ber = 0; uint32_t ber = 0;

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.17\n" "Project-Id-Version: vdr-femon 2.0.2\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-01-08 01:18+0200\n"
"PO-Revision-Date: 2010-10-10 10:10+0300\n" "PO-Revision-Date: 2014-01-08 01:18+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.17\n" "Project-Id-Version: vdr-femon 2.0.2\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-01-08 01:18+0200\n"
"PO-Revision-Date: 2010-10-10 10:10+0300\n" "PO-Revision-Date: 2014-01-08 01:18+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.17\n" "Project-Id-Version: vdr-femon 2.0.2\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-01-08 01:18+0200\n"
"PO-Revision-Date: 2010-10-10 10:10+0300\n" "PO-Revision-Date: 2014-01-08 01:18+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.17\n" "Project-Id-Version: vdr-femon 2.0.2\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-01-08 01:18+0200\n"
"PO-Revision-Date: 2010-10-10 10:10+0300\n" "PO-Revision-Date: 2014-01-08 01:18+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.17\n" "Project-Id-Version: vdr-femon 2.0.2\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-01-08 01:18+0200\n"
"PO-Revision-Date: 2010-10-10 10:10+0300\n" "PO-Revision-Date: 2014-01-08 01:18+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,13 +1,13 @@
# 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.17\n" "Project-Id-Version: vdr-femon 2.0.2\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-01-08 01:18+0200\n"
"PO-Revision-Date: 2010-10-10 10:10+0200\n" "PO-Revision-Date: 2010-10-10 10: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"

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.17\n" "Project-Id-Version: vdr-femon 2.0.2\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-01-08 01:18+0200\n"
"PO-Revision-Date: 2010-10-10 10:10+0300\n" "PO-Revision-Date: 2014-01-08 01:18+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.17\n" "Project-Id-Version: vdr-femon 2.0.2\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-01-08 01:18+0200\n"
"PO-Revision-Date: 2010-10-10 10:10+0300\n" "PO-Revision-Date: 2014-01-08 01:18+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.17\n" "Project-Id-Version: vdr-femon 2.0.2\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-01-08 01:18+0200\n"
"PO-Revision-Date: 2010-10-10 10:10+0300\n" "PO-Revision-Date: 2014-01-08 01:18+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"

390
po/sk_SK.po Normal file
View File

@@ -0,0 +1,390 @@
# 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.0.2\n"
"Report-Msgid-Bugs-To: <see README>\n"
"POT-Creation-Date: 2014-01-08 01:18+0200\n"
"PO-Revision-Date: 2014-01-08 01:18+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"

399
po/uk_UA.po Normal file
View File

@@ -0,0 +1,399 @@
# Ukrainian translation.
# Copyright (C) 2010 The Claws Mail Team
# This file is distributed under the same license as the claws-mail package.
# Yarema aka Knedlyk <yupadmin@gmail.com>, 2010.
msgid ""
msgstr ""
"Project-Id-Version: vdr-femon 2.0.2\n"
"Report-Msgid-Bugs-To: <see README>\n"
"POT-Creation-Date: 2014-01-08 01:18+0200\n"
"PO-Revision-Date: 2014-01-08 01:18+0200\n"
"Last-Translator: Yarema aka Knedlyk <yupadmin@gmail.com>\n"
"Language-Team: Ukrainian <translation@linux.org.ua>\n"
"Language: uk\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\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"
msgid "DVB Signal Information Monitor (OSD)"
msgstr "Монітор інформації про DVB сигнал"
msgid "Signal Information"
msgstr "Інформація про сигнал"
msgid "Femon not available"
msgstr "Femon не доступний"
msgid "basic"
msgstr "основне"
msgid "transponder"
msgstr "транспондер"
msgid "stream"
msgstr "потік"
msgid "AC-3"
msgstr "AC-3"
msgid "Classic"
msgstr "Класичний"
msgid "Elchi"
msgstr "Elchi"
msgid "ST:TNG"
msgstr "ST:TNG"
msgid "DeepBlue"
msgstr "DeepBlue"
msgid "Moronimo"
msgstr "Moronimo"
msgid "Enigma"
msgstr "Enigma"
msgid "EgalsTry"
msgstr "EgalsTry"
msgid "Duotone"
msgstr "Duotone"
msgid "SilverGreen"
msgstr "SilverGreen"
msgid "PearlHD"
msgstr "PearlHD"
msgid "Hide main menu entry"
msgstr "Сховати в головному меню"
msgid "Define whether the main menu entry is hidden."
msgstr "Визначення, чи приховувати в головному меню"
msgid "Default display mode"
msgstr "Типовий режим показу"
msgid "Define the default display mode at startup."
msgstr "Визначення типового режиму показу при запуску"
msgid "Define the used OSD skin."
msgstr "Визначення шкірки для повідомлень"
msgid "Define the used OSD theme."
msgstr "Визначення теми повідомлень"
msgid "Position"
msgstr "Позиція"
msgid "Define the position of OSD."
msgstr "Визначити позицію показу повідомлень"
msgid "Downscale OSD size [%]"
msgstr "Масштаб розміру повідомлень [%]"
msgid "Define the downscale ratio for OSD size."
msgstr "Визначити коефіцієнт масштабування розміру повідомлень"
msgid "Red limit [%]"
msgstr "Червона границя [%]"
msgid "Define a limit for red bar, which is used to indicate a bad signal."
msgstr "Визначення границі червоної поділки, яка показує поганий сигнал."
msgid "Green limit [%]"
msgstr "Зелена границя [%]"
msgid "Define a limit for green bar, which is used to indicate a good signal."
msgstr "Визначення границі зеленої поділки, яка показує добрий сигнал."
msgid "OSD update interval [0.1s]"
msgstr "Інтервал оновлення повідомлень [0.1с]"
msgid ""
"Define an interval for OSD updates. The smaller interval generates higher "
"CPU load."
msgstr ""
"Визначення інтервалу оновлення повідомлень. Малий інтервал спричинює більше "
"завантаження процесора."
msgid "Analyze stream"
msgstr "Аналіз потоку"
msgid "Define whether the DVB stream is analyzed and bitrates calculated."
msgstr "Визначення, чи проводити аналіз DVB потоку і обчислення бітрейту"
msgid "Calculation interval [0.1s]"
msgstr "Інтервал обчислення [0.1с]"
msgid ""
"Define an interval for calculation. The bigger interval generates more "
"stable values."
msgstr ""
"Визначення інтервалу обчислення. Більший інтервал дає стабільніші значення."
msgid "Use SVDRP service"
msgstr "Використати SVDRP сервіс"
msgid "Define whether the SVDRP service is used in client/server setups."
msgstr ""
"Визначення чи буде використовуватися SVDRP сервіс в налаштуваннях клієнта/"
"сервера"
msgid "SVDRP service port"
msgstr "Порт SVDRP сервісу"
msgid "Define the port number of SVDRP service."
msgstr "Визначення номеру порту SVDRP сервісу"
msgid "SVDRP service IP"
msgstr "IP сервісу SVDRP"
msgid "Define the IP address of SVDRP service."
msgstr "Визначення IP адреси сервісу SVDRP."
msgid "Help"
msgstr "Допомога"
msgid "Video"
msgstr "Відео"
msgid "Audio"
msgstr "Аудіо"
msgid "Transponder Information"
msgstr "Інформація про транспондер"
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 "Шв. кодування"
msgid "Protocol"
msgstr "Протокол"
msgid "Bitrate"
msgstr "Бітрейт"
msgid "Stream Information"
msgstr "Інформація про потік"
msgid "Video Stream"
msgstr "Відео потік"
msgid "Codec"
msgstr "Кодек"
msgid "Aspect Ratio"
msgstr "Співвідношення сторін"
msgid "Frame Rate"
msgstr "Частота кадрів"
msgid "Video Format"
msgstr "Формат відео"
msgid "Resolution"
msgstr "Роздільна здатність"
msgid "Audio Stream"
msgstr "Аудіо потік"
msgid "Channel Mode"
msgstr "Режим каналу"
msgid "Sampling Frequency"
msgstr "Частота"
msgid "AC-3 Stream"
msgstr "AC-3 потік"
msgid "Bit Stream Mode"
msgstr "Режим бітового потоку:"
msgid "Audio Coding Mode"
msgstr "Режим кодування малюнка"
msgid "Center Mix Level"
msgstr "Рівень міксування в центрі"
msgid "Surround Mix Level"
msgstr "Рівень міксування заповнення"
msgid "Dolby Surround Mode"
msgstr "Режим Dolby Surround"
msgid "Low Frequency Effects"
msgstr "Ефекти низької частоти"
msgid "Dialogue Normalization"
msgstr "Нормалізація гучності"
msgid "Fixed"
msgstr "Фіксовано"
msgid "Analog"
msgstr "Аналог."
msgid "MPEG-2"
msgstr "MPEG-2"
msgid "H.264"
msgstr "H.264"
msgid "MPEG-1 Layer I"
msgstr "MPEG-1 Layer I"
msgid "MPEG-1 Layer II"
msgstr "MPEG-1 Layer II"
msgid "MPEG-1 Layer III"
msgstr "MPEG-1 Layer III"
msgid "MPEG-2 Layer I"
msgstr "MPEG-2 Layer I"
msgid "MPEG-2 Layer II"
msgstr "MPEG-2 Layer II"
msgid "MPEG-2 Layer III"
msgstr "MPEG-2 Layer III"
msgid "HE-AAC"
msgstr "HE-AAC"
msgid "LATM"
msgstr "LATM"
msgid "stereo"
msgstr "стерео"
msgid "joint Stereo"
msgstr "об’єднане стерео"
msgid "dual"
msgstr "дуальний"
msgid "mono"
msgstr "моно"
msgid "interlaced"
msgstr "черезрядкове"
msgid "progressive"
msgstr "прогресивне"
msgid "reserved"
msgstr "зарезервовано"
msgid "extended"
msgstr "розширено"
msgid "unknown"
msgstr "невідомо"
msgid "component"
msgstr "компонентно"
msgid "PAL"
msgstr "PAL"
msgid "NTSC"
msgstr "NTSC"
msgid "SECAM"
msgstr "SECAM"
msgid "MAC"
msgstr "MAC"
msgid "Hz"
msgstr "Гц"
msgid "Complete Main (CM)"
msgstr "Заповнення основного (CM)"
msgid "Music and Effects (ME)"
msgstr "Музика і ефекти (ME)"
msgid "Visually Impaired (VI)"
msgstr "Слабозорі (VI)"
msgid "Hearing Impaired (HI)"
msgstr "Погіршений слух (HI)"
msgid "Dialogue (D)"
msgstr "Діалог (D)"
msgid "Commentary (C)"
msgstr "Коментарі (C)"
msgid "Emergency (E)"
msgstr "Аварійне (E)"
msgid "Voice Over (VO)"
msgstr "Голос через (VO)"
msgid "Karaoke"
msgstr "Караоке"
msgid "Ch1"
msgstr "Кан.1"
msgid "Ch2"
msgstr "Кан.2"
msgid "C"
msgstr "C"
msgid "L"
msgstr "L"
msgid "R"
msgstr "R"
msgid "S"
msgstr "S"
msgid "SL"
msgstr "SL"
msgid "SR"
msgstr "Симв.шв."
msgid "dB"
msgstr "дБ"
msgid "not indicated"
msgstr "не вказано"
msgid "MHz"
msgstr "МГц"
msgid "free"
msgstr "вільний"
msgid "Mbit/s"
msgstr "Мбіт/c"
msgid "kbit/s"
msgstr "кбіт/с"

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.17\n" "Project-Id-Version: vdr-femon 2.0.2\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-01-08 01:18+0200\n"
"PO-Revision-Date: 2010-10-10 10:10+0300\n" "PO-Revision-Date: 2014-01-08 01:18+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.17\n" "Project-Id-Version: vdr-femon 2.0.2\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-01-08 01:18+0200\n"
"PO-Revision-Date: 2010-10-10 10:10+0300\n" "PO-Revision-Date: 2014-01-08 01:18+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"