1
0
mirror of https://github.com/VDR4Arch/vdr.git synced 2023-10-10 13:36:52 +02:00

Added support for smart card activation

This commit is contained in:
Klaus Schmidinger 2015-01-30 13:38:44 +01:00
parent 7f195606ee
commit bf7cc2c04f
34 changed files with 678 additions and 45 deletions

View File

@ -8414,7 +8414,7 @@ Video Disk Recorder Revision History
generated an index file with VDR version 2.0.6 you may want to do so again with this
version to make sure the index is OK.
2015-01-27: Version 2.1.8
2015-01-30: Version 2.1.8
- Updated the Italian OSD texts (thanks to Diego Pierotto).
- Fixed "warning: invalid suffix on literal" with GCC 4.8 and C++11 (thanks to Joerg
@ -8439,3 +8439,8 @@ Video Disk Recorder Revision History
- The keys '1' and '3' can now be used in replay mode to position an editing mark
in "binary" mode (based on a patch from Rolf Ahrenberg, with modifications by Helmut
Auer). See MANUAL, section "Editing a Recording".
- The Yellow button in the "Setup/CAM" menu can now be used to put the selected
CAM into a mode where it remains assigned to a device that is tuned to the current
channel until the smart card it contains is activated and the CAM thus starts to
descramble (see MANUAL for details).
- Added support for smart card activation (see MANUAL, section "Setup/CAM").

14
MANUAL
View File

@ -845,7 +845,19 @@ Version 2.0
if it is in the process of being reset, its current status
is displayed. The "Red" key can be pressed to enter the CAM
menu, and the "Green" key triggers a reset of the selected
slot. The "Ok" key also opens the CAM menu.
slot. The "Ok" key also opens the CAM menu. The "Yellow" key
assigns the selected CAM to a device and switches it to the
current channel. The CAM/device combination remains tuned to
the current channel until the smart card in the CAM has been
activated and thus starts to descramble, or until a recording
needs this device. Pressing the "Yellow" key while a CAM is
in activation mode cancels the activation. The activation mode
remains in effect even if you switch to a different channel
(provided there is more than one device in the system) or
watch a recording. To activate your smart card simply switch
to the channel you want to watch, open the "Setup/CAM" menu,
select the CAM that contains the smart card (in case you
have more than one CAM) and press the "Yellow" key.
Recording:

90
ci.c
View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: ci.c 3.17 2015/01/15 09:14:57 kls Exp $
* $Id: ci.c 3.18 2015/01/30 12:24:53 kls Exp $
*/
#include "ci.h"
@ -22,6 +22,7 @@
#include "receiver.h"
#include "remux.h"
#include "libsi/si.h"
#include "skins.h"
#include "tools.h"
// Set these to 'true' for debug output:
@ -236,6 +237,53 @@ void cCaPidReceiver::Receive(uchar *Data, int Length)
}
}
// --- cCaActivationReceiver -------------------------------------------------
// A receiver that is used to make the device stay on a given channel and
// keep the CAM slot assigned.
#define UNSCRAMBLE_TIME 5 // seconds of receiving purely unscrambled data before considering the smart card "activated"
#define TS_PACKET_FACTOR 1024 // only process every TS_PACKET_FACTORth packet to keep the load down
class cCaActivationReceiver : public cReceiver {
private:
cCamSlot *camSlot;
time_t lastScrambledTime;
int numTsPackets;
protected:
virtual void Receive(uchar *Data, int Length);
public:
cCaActivationReceiver(const cChannel *Channel, cCamSlot *CamSlot);
virtual ~cCaActivationReceiver();
};
cCaActivationReceiver::cCaActivationReceiver(const cChannel *Channel, cCamSlot *CamSlot)
:cReceiver(Channel, MINPRIORITY + 1)
{
camSlot = CamSlot;
lastScrambledTime = time(NULL);
numTsPackets = 0;
}
cCaActivationReceiver::~cCaActivationReceiver()
{
Detach();
}
void cCaActivationReceiver::Receive(uchar *Data, int Length)
{
if (numTsPackets++ % TS_PACKET_FACTOR == 0) {
time_t Now = time(NULL);
if (TsIsScrambled(Data))
lastScrambledTime = Now;
else if (Now - lastScrambledTime > UNSCRAMBLE_TIME) {
dsyslog("CAM %d: activated!", camSlot->SlotNumber());
Skins.QueueMessage(mtInfo, tr("CAM activated!"));
Detach();
}
}
}
// --- cTPDU -----------------------------------------------------------------
#define MAX_TPDU_SIZE 2048
@ -1696,6 +1744,7 @@ cCamSlot::cCamSlot(cCiAdapter *CiAdapter, bool ReceiveCaPids)
ciAdapter = CiAdapter;
assignedDevice = NULL;
caPidReceiver = ReceiveCaPids ? new cCaPidReceiver : NULL;
caActivationReceiver = NULL;
slotIndex = -1;
lastModuleStatus = msReset; // avoids initial reset log message
resetTime = 0;
@ -1715,6 +1764,7 @@ cCamSlot::~cCamSlot()
if (assignedDevice)
assignedDevice->SetCamSlot(NULL);
delete caPidReceiver;
delete caActivationReceiver;
CamSlots.Del(this, false);
DeleteAllConnections();
}
@ -1735,8 +1785,10 @@ bool cCamSlot::Assign(cDevice *Device, bool Query)
Device->SetCamSlot(this);
dsyslog("CAM %d: assigned to device %d", slotNumber, Device->DeviceNumber() + 1);
}
else
else {
CancelActivation();
dsyslog("CAM %d: unassigned", slotNumber);
}
}
else
return false;
@ -1772,6 +1824,8 @@ void cCamSlot::DeleteAllConnections(void)
void cCamSlot::Process(cTPDU *TPDU)
{
cMutexLock MutexLock(&mutex);
if (caActivationReceiver && !caActivationReceiver->IsAttached())
CancelActivation();
if (TPDU) {
int n = TPDU->Tcid();
if (1 <= n && n <= MAX_CONNECTIONS_PER_CAM_SLOT) {
@ -1795,6 +1849,7 @@ void cCamSlot::Process(cTPDU *TPDU)
dbgprotocol("Slot %d: no module present\n", slotNumber);
isyslog("CAM %d: no module present", slotNumber);
DeleteAllConnections();
CancelActivation();
break;
case msReset:
dbgprotocol("Slot %d: module reset\n", slotNumber);
@ -1856,6 +1911,37 @@ bool cCamSlot::Reset(void)
return false;
}
bool cCamSlot::CanActivate(void)
{
return ModuleStatus() == msReady;
}
void cCamSlot::StartActivation(void)
{
cMutexLock MutexLock(&mutex);
if (!caActivationReceiver) {
if (cDevice *d = Device()) {
if (cChannel *Channel = Channels.GetByNumber(cDevice::CurrentChannel())) {
caActivationReceiver = new cCaActivationReceiver(Channel, this);
d->AttachReceiver(caActivationReceiver);
dsyslog("CAM %d: activating on device %d with channel %d (%s)", SlotNumber(), d->DeviceNumber() + 1, Channel->Number(), Channel->Name());
}
}
}
}
void cCamSlot::CancelActivation(void)
{
cMutexLock MutexLock(&mutex);
delete caActivationReceiver;
caActivationReceiver = NULL;
}
bool cCamSlot::IsActivating(void)
{
return caActivationReceiver;
}
eModuleStatus cCamSlot::ModuleStatus(void)
{
cMutexLock MutexLock(&mutex);

21
ci.h
View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: ci.h 3.9 2015/01/15 09:18:09 kls Exp $
* $Id: ci.h 3.10 2015/01/30 12:24:38 kls Exp $
*/
#ifndef __CI_H
@ -123,6 +123,7 @@ class cCiTransportConnection;
class cCiSession;
class cCiCaProgramData;
class cCaPidReceiver;
class cCaActivationReceiver;
class cCamSlot : public cListObject {
friend class cCiAdapter;
@ -133,6 +134,7 @@ private:
cCiAdapter *ciAdapter;
cDevice *assignedDevice;
cCaPidReceiver *caPidReceiver;
cCaActivationReceiver *caActivationReceiver;
int slotIndex;
int slotNumber;
cCiTransportConnection *tc[MAX_CONNECTIONS_PER_CAM_SLOT + 1]; // connection numbering starts with 1
@ -182,6 +184,23 @@ public:
virtual bool Reset(void);
///< Resets the CAM in this slot.
///< Returns true if the operation was successful.
virtual bool CanActivate(void);
///< Returns true if there is a CAM in this slot that can be put into
///< activation mode.
virtual void StartActivation(void);
///< Puts the CAM in this slot into a mode where an inserted smart card
///< can be activated. The default action is to make IsActivating() return
///< true, which causes the device this CAM slot is attached to to never
///< automatically detach any receivers with negative priority if the
///< PIDs they want to receive are not decrypted by the CAM.
///< StartActivation() must be called *after* the CAM slot has been assigned
///< to a device. The CAM slot will stay in activation mode until the CAM
///< begins to decrypt, a call to CancelActivation() is made, or the device
///< is needed for a recording.
virtual void CancelActivation(void);
///< Cancels a previously started activation (if any).
virtual bool IsActivating(void);
///< Returns true if this CAM slot is currently activating a smart card.
virtual eModuleStatus ModuleStatus(void);
///< Returns the status of the CAM in this slot.
virtual const char *GetCamName(void);

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: device.c 3.19 2015/01/14 12:02:44 kls Exp $
* $Id: device.c 3.20 2015/01/30 12:11:30 kls Exp $
*/
#include "device.h"
@ -756,7 +756,7 @@ eSetChannelResult cDevice::SetChannel(const cChannel *Channel, bool LiveView)
cDevice *Device = (LiveView && IsPrimaryDevice()) ? GetDevice(Channel, LIVEPRIORITY, true) : this;
bool NeedsTransferMode = Device != this;
bool NeedsTransferMode = LiveView && Device != PrimaryDevice();
// If the CAM slot wants the TS data, we need to switch to Transfer Mode:
if (!NeedsTransferMode && LiveView && IsPrimaryDevice() && CamSlot() && CamSlot()->WantsTsData())
NeedsTransferMode = true;
@ -767,7 +767,7 @@ eSetChannelResult cDevice::SetChannel(const cChannel *Channel, bool LiveView)
// use the card that actually can receive it and transfer data from there:
if (NeedsTransferMode) {
if (Device && CanReplay()) {
if (Device && PrimaryDevice()->CanReplay()) {
if (Device->SetChannel(Channel, false) == scrOk) // calling SetChannel() directly, not SwitchChannel()!
cControl::Launch(new cTransferControl(Device, Channel));
else
@ -1585,13 +1585,13 @@ void cDevice::Action(void)
bool DetachReceivers = false;
bool DescramblingOk = false;
int CamSlotNumber = 0;
cCamSlot *cs = NULL;
if (startScrambleDetection) {
cCamSlot *cs = CamSlot();
cs = CamSlot();
CamSlotNumber = cs ? cs->SlotNumber() : 0;
if (CamSlotNumber) {
bool Scrambled = b[3] & TS_SCRAMBLING_CONTROL;
int t = time(NULL) - startScrambleDetection;
if (Scrambled) {
if (TsIsScrambled(b)) {
if (t > TS_SCRAMBLING_TIMEOUT)
DetachReceivers = true;
}
@ -1605,7 +1605,7 @@ void cDevice::Action(void)
Lock();
for (int i = 0; i < MAXRECEIVERS; i++) {
if (receiver[i] && receiver[i]->WantsPid(Pid)) {
if (DetachReceivers) {
if (DetachReceivers && cs && (!cs->IsActivating() || receiver[i]->Priority() >= LIVEPRIORITY)) {
dsyslog("detaching receiver - won't decrypt channel %s with CAM %d", *receiver[i]->ChannelID().ToString(), CamSlotNumber);
ChannelCamRelations.SetChecked(receiver[i]->ChannelID(), CamSlotNumber);
Detach(receiver[i]);
@ -1704,7 +1704,7 @@ void cDevice::Detach(cReceiver *Receiver)
if (camSlot) {
if (Receiver->priority > MINPRIORITY) { // priority check to avoid an infinite loop with the CAM slot's caPidReceiver
camSlot->StartDecrypting();
if (!camSlot->IsDecrypting())
if (!camSlot->IsDecrypting() && !camSlot->IsActivating())
camSlot->Assign(NULL);
}
}

71
menu.c
View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: menu.c 3.31 2015/01/29 09:00:37 kls Exp $
* $Id: menu.c 3.32 2015/01/30 12:27:37 kls Exp $
*/
#include "menu.h"
@ -3419,7 +3419,7 @@ cMenuSetupCAMItem::cMenuSetupCAMItem(cCamSlot *CamSlot)
bool cMenuSetupCAMItem::Changed(void)
{
char buffer[32];
const char *Activating = "";
const char *CamName = camSlot->GetCamName();
if (!CamName) {
switch (camSlot->ModuleStatus()) {
@ -3429,7 +3429,10 @@ bool cMenuSetupCAMItem::Changed(void)
default: CamName = "-"; break;
}
}
snprintf(buffer, sizeof(buffer), " %d %s", camSlot->SlotNumber(), CamName);
else if (camSlot->IsActivating())
// TRANSLATORS: note the leading blank!
Activating = tr(" (activating)");
cString buffer = cString::sprintf(" %d %s%s", camSlot->SlotNumber(), CamName, Activating);
if (strcmp(buffer, Text()) != 0) {
SetText(buffer);
return true;
@ -3439,8 +3442,11 @@ bool cMenuSetupCAMItem::Changed(void)
class cMenuSetupCAM : public cMenuSetupBase {
private:
const char *activationHelp;
eOSState Menu(void);
eOSState Reset(void);
eOSState Activate(void);
void SetHelpKeys(void);
public:
cMenuSetupCAM(void);
virtual eOSState ProcessKey(eKeys Key);
@ -3448,13 +3454,33 @@ public:
cMenuSetupCAM::cMenuSetupCAM(void)
{
activationHelp = NULL;
SetMenuCategory(mcSetupCam);
SetSection(tr("CAM"));
SetCols(15);
SetHasHotkeys();
for (cCamSlot *CamSlot = CamSlots.First(); CamSlot; CamSlot = CamSlots.Next(CamSlot))
Add(new cMenuSetupCAMItem(CamSlot));
SetHelp(tr("Button$Menu"), tr("Button$Reset"));
SetHelpKeys();
}
void cMenuSetupCAM::SetHelpKeys(void)
{
if (HasSubMenu())
return;
cMenuSetupCAMItem *item = (cMenuSetupCAMItem *)Get(Current());
const char *NewActivationHelp = "";
if (item) {
cCamSlot *CamSlot = item->CamSlot();
if (CamSlot->IsActivating())
NewActivationHelp = tr("Button$Cancel activation");
else if (CamSlot->CanActivate())
NewActivationHelp = tr("Button$Activate");
}
if (NewActivationHelp != activationHelp) {
activationHelp = NewActivationHelp;
SetHelp(tr("Button$Menu"), tr("Button$Reset"), activationHelp);
}
}
eOSState cMenuSetupCAM::Menu(void)
@ -3484,6 +3510,41 @@ eOSState cMenuSetupCAM::Menu(void)
return osContinue;
}
eOSState cMenuSetupCAM::Activate(void)
{
cMenuSetupCAMItem *item = (cMenuSetupCAMItem *)Get(Current());
if (item) {
cCamSlot *CamSlot = item->CamSlot();
if (CamSlot->IsActivating())
CamSlot->CancelActivation();
else if (CamSlot->CanActivate()) {
if (cChannel *Channel = Channels.GetByNumber(cDevice::CurrentChannel())) {
for (int i = 0; i < cDevice::NumDevices(); i++) {
if (cDevice *Device = cDevice::GetDevice(i)) {
if (Device->ProvidesChannel(Channel)) {
if (Device->Priority() < LIVEPRIORITY) { // don't interrupt recordings
if (CamSlot->CanActivate()) {
if (CamSlot->Assign(Device, true)) { // query
cControl::Shutdown(); // must end transfer mode before assigning CAM, otherwise it might be unassigned again
if (CamSlot->Assign(Device)) {
if (Device->SwitchChannel(Channel, true)) {
CamSlot->StartActivation();
return osContinue;
}
}
}
}
}
}
}
}
}
Skins.Message(mtError, tr("Can't activate CAM!"));
}
}
return osContinue;
}
eOSState cMenuSetupCAM::Reset(void)
{
cMenuSetupCAMItem *item = (cMenuSetupCAMItem *)Get(Current());
@ -3505,12 +3566,14 @@ eOSState cMenuSetupCAM::ProcessKey(eKeys Key)
case kOk:
case kRed: return Menu();
case kGreen: state = Reset(); break;
case kYellow: state = Activate(); break;
default: break;
}
for (cMenuSetupCAMItem *ci = (cMenuSetupCAMItem *)First(); ci; ci = (cMenuSetupCAMItem *)ci->Next()) {
if (ci->Changed())
DisplayItem(ci);
}
SetHelpKeys();
}
return state;
}

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 2.0.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2015-01-27 13:59+0100\n"
"POT-Creation-Date: 2015-01-30 13:14+0100\n"
"PO-Revision-Date: 2008-10-16 11:16-0400\n"
"Last-Translator: Osama Alrawab <alrawab@hotmail.com>\n"
"Language-Team: Arabic <ar@li.org>\n"
@ -23,6 +23,9 @@ msgstr ""
msgid "*** Invalid Channel ***"
msgstr "*** قناة خاطئة ***"
msgid "CAM activated!"
msgstr ""
msgid "Channel not available!"
msgstr "القناة غير متاحة"
@ -1112,9 +1115,19 @@ msgstr "الكامة موجودة"
msgid "CAM ready"
msgstr "الكامة جاهزة"
#. TRANSLATORS: note the leading blank!
msgid " (activating)"
msgstr ""
msgid "CAM"
msgstr "الكامة "
msgid "Button$Cancel activation"
msgstr ""
msgid "Button$Activate"
msgstr ""
msgid "Button$Menu"
msgstr "القائمة"
@ -1127,6 +1140,9 @@ msgstr "فتح قائمة الكامة"
msgid "Can't open CAM menu!"
msgstr "تعذر فتح قائمة الكامة"
msgid "Can't activate CAM!"
msgstr ""
msgid "CAM is in use - really reset?"
msgstr "الكامة مستخدمة الان هل تريد اعادة تشغيلها"

View File

@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 2.0.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2015-01-27 13:59+0100\n"
"POT-Creation-Date: 2015-01-30 13:14+0100\n"
"PO-Revision-Date: 2008-03-02 19:02+0100\n"
"Last-Translator: Luca Olivetti <luca@ventoso.org>\n"
"Language-Team: Catalan <vdr@linuxtv.org>\n"
@ -22,6 +22,9 @@ msgstr ""
msgid "*** Invalid Channel ***"
msgstr "*** Canal incorrecte ***"
msgid "CAM activated!"
msgstr ""
msgid "Channel not available!"
msgstr "Canal no disponible!"
@ -1111,9 +1114,19 @@ msgstr "CAM present"
msgid "CAM ready"
msgstr "CAM preparat"
#. TRANSLATORS: note the leading blank!
msgid " (activating)"
msgstr ""
msgid "CAM"
msgstr "CAM"
msgid "Button$Cancel activation"
msgstr ""
msgid "Button$Activate"
msgstr ""
msgid "Button$Menu"
msgstr "Menú"
@ -1126,6 +1139,9 @@ msgstr "Obrint menu CAM..."
msgid "Can't open CAM menu!"
msgstr "No puc obrir el menú de la CAM!"
msgid "Can't activate CAM!"
msgstr ""
msgid "CAM is in use - really reset?"
msgstr "CAM en ús - reiniciar?"

View File

@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 2.0.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2015-01-27 13:59+0100\n"
"POT-Creation-Date: 2015-01-30 13:14+0100\n"
"PO-Revision-Date: 2010-05-06 11:00+0200\n"
"Last-Translator: Aleš Juřík <ajurik@quick.cz>\n"
"Language-Team: Czech <vdr@linuxtv.org>\n"
@ -22,6 +22,9 @@ msgstr ""
msgid "*** Invalid Channel ***"
msgstr "*** Neplatný kanál ***"
msgid "CAM activated!"
msgstr ""
msgid "Channel not available!"
msgstr "Kanál není dostupný!"
@ -1111,9 +1114,19 @@ msgstr "CAM přítomen"
msgid "CAM ready"
msgstr "CAM připraven"
#. TRANSLATORS: note the leading blank!
msgid " (activating)"
msgstr ""
msgid "CAM"
msgstr "CAM"
msgid "Button$Cancel activation"
msgstr ""
msgid "Button$Activate"
msgstr ""
msgid "Button$Menu"
msgstr "Menu"
@ -1126,6 +1139,9 @@ msgstr "Otevírá se menu CAM..."
msgid "Can't open CAM menu!"
msgstr "Menu CAM není dostupné"
msgid "Can't activate CAM!"
msgstr ""
msgid "CAM is in use - really reset?"
msgstr "CAM se používá - opravdu restartovat?"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 2.0.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2015-01-27 13:59+0100\n"
"POT-Creation-Date: 2015-01-30 13:14+0100\n"
"PO-Revision-Date: 2007-08-12 14:17+0200\n"
"Last-Translator: Mogens Elneff <mogens@elneff.dk>\n"
"Language-Team: Danish <vdr@linuxtv.org>\n"
@ -19,6 +19,9 @@ msgstr ""
msgid "*** Invalid Channel ***"
msgstr "*** Ugyldig kanal! ***"
msgid "CAM activated!"
msgstr ""
msgid "Channel not available!"
msgstr "Kanal er ikke tilgængelig!"
@ -1108,9 +1111,19 @@ msgstr "CAM til stede"
msgid "CAM ready"
msgstr "CAM klar"
#. TRANSLATORS: note the leading blank!
msgid " (activating)"
msgstr ""
msgid "CAM"
msgstr "CAM"
msgid "Button$Cancel activation"
msgstr ""
msgid "Button$Activate"
msgstr ""
msgid "Button$Menu"
msgstr "Menu"
@ -1123,6 +1136,9 @@ msgstr "
msgid "Can't open CAM menu!"
msgstr "Kan ikke åbne CAM menuen!"
msgid "Can't activate CAM!"
msgstr ""
msgid "CAM is in use - really reset?"
msgstr "CAM er i brug - virkelig nulstille?"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 2.0.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2015-01-27 13:59+0100\n"
"POT-Creation-Date: 2015-01-30 13:14+0100\n"
"PO-Revision-Date: 2010-01-16 16:46+0100\n"
"Last-Translator: Klaus Schmidinger <vdr@tvdr.de>\n"
"Language-Team: German <vdr@linuxtv.org>\n"
@ -19,6 +19,9 @@ msgstr ""
msgid "*** Invalid Channel ***"
msgstr "*** Ungültiger Kanal ***"
msgid "CAM activated!"
msgstr "CAM aktiviert!"
msgid "Channel not available!"
msgstr "Kanal nicht verfügbar!"
@ -1108,9 +1111,19 @@ msgstr "CAM vorhanden"
msgid "CAM ready"
msgstr "CAM bereit"
#. TRANSLATORS: note the leading blank!
msgid " (activating)"
msgstr " (wird aktiviert)"
msgid "CAM"
msgstr "CAM"
msgid "Button$Cancel activation"
msgstr "Aktivierung abbrechen"
msgid "Button$Activate"
msgstr "Aktivieren"
msgid "Button$Menu"
msgstr "Menü"
@ -1123,6 +1136,9 @@ msgstr "CAM-Men
msgid "Can't open CAM menu!"
msgstr "CAM-Menü kann nicht geöffnet werden!"
msgid "Can't activate CAM!"
msgstr "CAM kann nicht aktiviert werden!"
msgid "CAM is in use - really reset?"
msgstr "CAM wird benutzt - wirklich zurücksetzen?"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 2.0.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2015-01-27 13:59+0100\n"
"POT-Creation-Date: 2015-01-30 13:14+0100\n"
"PO-Revision-Date: 2007-08-12 14:17+0200\n"
"Last-Translator: Dimitrios Dimitrakos <mail@dimitrios.de>\n"
"Language-Team: Greek <vdr@linuxtv.org>\n"
@ -19,6 +19,9 @@ msgstr ""
msgid "*** Invalid Channel ***"
msgstr "*** Áêõñï êáíÜëç ***"
msgid "CAM activated!"
msgstr ""
msgid "Channel not available!"
msgstr "Ôï êáíÜëç äÝí åßíáé äéáèÝóéìï!"
@ -1108,9 +1111,19 @@ msgstr ""
msgid "CAM ready"
msgstr ""
#. TRANSLATORS: note the leading blank!
msgid " (activating)"
msgstr ""
msgid "CAM"
msgstr "CAM"
msgid "Button$Cancel activation"
msgstr ""
msgid "Button$Activate"
msgstr ""
msgid "Button$Menu"
msgstr "Måíïý"
@ -1123,6 +1136,9 @@ msgstr ""
msgid "Can't open CAM menu!"
msgstr "Áäýíáôç ç ðñüóâáóç óôü CAM ìåíïý!"
msgid "Can't activate CAM!"
msgstr ""
msgid "CAM is in use - really reset?"
msgstr ""

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 2.0.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2015-01-27 13:59+0100\n"
"POT-Creation-Date: 2015-01-30 13:14+0100\n"
"PO-Revision-Date: 2008-03-02 19:02+0100\n"
"Last-Translator: Luca Olivetti <luca@ventoso.org>\n"
"Language-Team: Spanish <vdr@linuxtv.org>\n"
@ -20,6 +20,9 @@ msgstr ""
msgid "*** Invalid Channel ***"
msgstr "*** Canal no válido ***"
msgid "CAM activated!"
msgstr ""
msgid "Channel not available!"
msgstr "¡Canal no disponible!"
@ -1109,9 +1112,19 @@ msgstr "CAM presente"
msgid "CAM ready"
msgstr "CAM preparado"
#. TRANSLATORS: note the leading blank!
msgid " (activating)"
msgstr ""
msgid "CAM"
msgstr "CAM"
msgid "Button$Cancel activation"
msgstr ""
msgid "Button$Activate"
msgstr ""
msgid "Button$Menu"
msgstr "Menú"
@ -1124,6 +1137,9 @@ msgstr "Abriendo el men
msgid "Can't open CAM menu!"
msgstr "¡No se puede abrir el menú CAM!"
msgid "Can't activate CAM!"
msgstr ""
msgid "CAM is in use - really reset?"
msgstr "CAM en uso - ¿reiniciar?"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 2.0.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2015-01-27 13:59+0100\n"
"POT-Creation-Date: 2015-01-30 13:14+0100\n"
"PO-Revision-Date: 2007-08-12 14:17+0200\n"
"Last-Translator: Arthur Konovalov <artlov@gmail.com>\n"
"Language-Team: Estonian <vdr@linuxtv.org>\n"
@ -19,6 +19,9 @@ msgstr ""
msgid "*** Invalid Channel ***"
msgstr "*** Vigane kanal ***"
msgid "CAM activated!"
msgstr ""
msgid "Channel not available!"
msgstr "Kanal ei ole kättesaadav!"
@ -1108,9 +1111,19 @@ msgstr "CAM esitletud"
msgid "CAM ready"
msgstr "CAM töövalmis"
#. TRANSLATORS: note the leading blank!
msgid " (activating)"
msgstr ""
msgid "CAM"
msgstr "CAM"
msgid "Button$Cancel activation"
msgstr ""
msgid "Button$Activate"
msgstr ""
msgid "Button$Menu"
msgstr "Menüü"
@ -1123,6 +1136,9 @@ msgstr "CAM-menüü avamine..."
msgid "Can't open CAM menu!"
msgstr "Ei saa avada CAM menüüd!"
msgid "Can't activate CAM!"
msgstr ""
msgid "CAM is in use - really reset?"
msgstr "CAM on kasutuses - taaskäivitada?"

View File

@ -11,7 +11,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 2.0.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2015-01-27 13:59+0100\n"
"POT-Creation-Date: 2015-01-30 13:14+0100\n"
"PO-Revision-Date: 2007-08-15 15:52+0200\n"
"Last-Translator: Matti Lehtimäki <matti.lehtimaki@gmail.com>\n"
"Language-Team: Finnish <vdr@linuxtv.org>\n"
@ -23,6 +23,9 @@ msgstr ""
msgid "*** Invalid Channel ***"
msgstr "*** Virheellinen kanavavalinta ***"
msgid "CAM activated!"
msgstr ""
msgid "Channel not available!"
msgstr "Kanava ei ole käytettävissä!"
@ -1112,9 +1115,19 @@ msgstr "CAM havaittu"
msgid "CAM ready"
msgstr "CAM valmis"
#. TRANSLATORS: note the leading blank!
msgid " (activating)"
msgstr ""
msgid "CAM"
msgstr "CAM"
msgid "Button$Cancel activation"
msgstr ""
msgid "Button$Activate"
msgstr ""
msgid "Button$Menu"
msgstr "Valikko"
@ -1127,6 +1140,9 @@ msgstr "Avataan CA-moduulin valikkoa..."
msgid "Can't open CAM menu!"
msgstr "CA-moduulin valikko ei saatavilla"
msgid "Can't activate CAM!"
msgstr ""
msgid "CAM is in use - really reset?"
msgstr "CA-moduuli käytössä - nollataanko?"

View File

@ -17,7 +17,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 2.0.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2015-01-27 13:59+0100\n"
"POT-Creation-Date: 2015-01-30 13:14+0100\n"
"PO-Revision-Date: 2013-02-24 12:56+0100\n"
"Last-Translator: Dominique Plu <dplu@free.fr>\n"
"Language-Team: French <vdr@linuxtv.org>\n"
@ -29,6 +29,9 @@ msgstr ""
msgid "*** Invalid Channel ***"
msgstr "*** Chaîne invalide ! ***"
msgid "CAM activated!"
msgstr ""
msgid "Channel not available!"
msgstr "Chaîne non disponible !"
@ -1118,9 +1121,19 @@ msgstr "CAM présent"
msgid "CAM ready"
msgstr "CAM prêt"
#. TRANSLATORS: note the leading blank!
msgid " (activating)"
msgstr ""
msgid "CAM"
msgstr "CAM"
msgid "Button$Cancel activation"
msgstr ""
msgid "Button$Activate"
msgstr ""
msgid "Button$Menu"
msgstr "Menu"
@ -1133,6 +1146,9 @@ msgstr "Ouverture du menu CAM..."
msgid "Can't open CAM menu!"
msgstr "Impossible d'ouvrir le menu CAM !"
msgid "Can't activate CAM!"
msgstr ""
msgid "CAM is in use - really reset?"
msgstr "CAM en cours d'utilisation - confirmer réinitialisation ?"

View File

@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 2.0.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2015-01-27 13:59+0100\n"
"POT-Creation-Date: 2015-01-30 13:14+0100\n"
"PO-Revision-Date: 2008-03-17 19:00+0100\n"
"Last-Translator: Adrian Caval <anrxc@sysphere.org>\n"
"Language-Team: Croatian <vdr@linuxtv.org>\n"
@ -21,6 +21,9 @@ msgstr ""
msgid "*** Invalid Channel ***"
msgstr "*** Neispravan Program ***"
msgid "CAM activated!"
msgstr ""
msgid "Channel not available!"
msgstr "Program nije dostupan!"
@ -1110,9 +1113,19 @@ msgstr "CAM prisutan"
msgid "CAM ready"
msgstr "CAM spreman"
#. TRANSLATORS: note the leading blank!
msgid " (activating)"
msgstr ""
msgid "CAM"
msgstr "CAM"
msgid "Button$Cancel activation"
msgstr ""
msgid "Button$Activate"
msgstr ""
msgid "Button$Menu"
msgstr "Izbornik"
@ -1125,6 +1138,9 @@ msgstr "Otvaram CAM izbornik..."
msgid "Can't open CAM menu!"
msgstr "Otvaranje CAM izbornika neuspje¹no!"
msgid "Can't activate CAM!"
msgstr ""
msgid "CAM is in use - really reset?"
msgstr "CAM se koristi - ponovno pokrenuti unatoè?"

View File

@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 2.0.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2015-01-27 13:59+0100\n"
"POT-Creation-Date: 2015-01-30 13:14+0100\n"
"PO-Revision-Date: 2013-03-01 19:22+0200\n"
"Last-Translator: István Füley <ifuley@tigercomp.ro>\n"
"Language-Team: Hungarian <vdr@linuxtv.org>\n"
@ -23,6 +23,9 @@ msgstr ""
msgid "*** Invalid Channel ***"
msgstr "*** Érvénytelen csatorna ***"
msgid "CAM activated!"
msgstr ""
msgid "Channel not available!"
msgstr "Az adó nem elérhető"
@ -1112,9 +1115,19 @@ msgstr "CAM jelen"
msgid "CAM ready"
msgstr "CAM működik"
#. TRANSLATORS: note the leading blank!
msgid " (activating)"
msgstr ""
msgid "CAM"
msgstr "CAM"
msgid "Button$Cancel activation"
msgstr ""
msgid "Button$Activate"
msgstr ""
msgid "Button$Menu"
msgstr "Menü"
@ -1127,6 +1140,9 @@ msgstr "A CAM menü nyitása..."
msgid "Can't open CAM menu!"
msgstr "A CAM menü nem nyitható"
msgid "Can't activate CAM!"
msgstr ""
msgid "CAM is in use - really reset?"
msgstr "CAM használatban - valóban újraindítjuk?"

View File

@ -11,7 +11,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 2.0.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2015-01-27 13:59+0100\n"
"POT-Creation-Date: 2015-01-30 13:14+0100\n"
"PO-Revision-Date: 2015-01-19 20:19+0100\n"
"Last-Translator: Diego Pierotto <vdr-italian@tiscali.it>\n"
"Language-Team: Italian <vdr@linuxtv.org>\n"
@ -26,6 +26,9 @@ msgstr ""
msgid "*** Invalid Channel ***"
msgstr "*** Canale NON valido ***"
msgid "CAM activated!"
msgstr ""
msgid "Channel not available!"
msgstr "Canale non disponibile!"
@ -1115,9 +1118,19 @@ msgstr "La CAM è presente"
msgid "CAM ready"
msgstr "La CAM è pronta"
#. TRANSLATORS: note the leading blank!
msgid " (activating)"
msgstr ""
msgid "CAM"
msgstr "Accesso condizionato CAM"
msgid "Button$Cancel activation"
msgstr ""
msgid "Button$Activate"
msgstr ""
msgid "Button$Menu"
msgstr "Menu"
@ -1130,6 +1143,9 @@ msgstr "Apertura menu CAM..."
msgid "Can't open CAM menu!"
msgstr "Impossibile aprire il menu CAM!"
msgid "Can't activate CAM!"
msgstr ""
msgid "CAM is in use - really reset?"
msgstr "La CAM è in uso - vuoi reimpostarla?"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 2.0.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2015-01-27 13:59+0100\n"
"POT-Creation-Date: 2015-01-30 13:14+0100\n"
"PO-Revision-Date: 2010-10-30 11:55+0200\n"
"Last-Translator: Valdemaras Pipiras <varas@ambernet.lt>\n"
"Language-Team: Lithuanian <vdr@linuxtv.org>\n"
@ -19,6 +19,9 @@ msgstr ""
msgid "*** Invalid Channel ***"
msgstr "*** Blogi kanalo nustatymai ***"
msgid "CAM activated!"
msgstr ""
msgid "Channel not available!"
msgstr "Kanalas neegzistuoja!"
@ -1108,9 +1111,19 @@ msgstr "Dekodavimo modulis (CAM) įjungtas"
msgid "CAM ready"
msgstr "Dekodavimo modulis (CAM) paruoštas darbui"
#. TRANSLATORS: note the leading blank!
msgid " (activating)"
msgstr ""
msgid "CAM"
msgstr "Dekodavimo modulis (CAM)"
msgid "Button$Cancel activation"
msgstr ""
msgid "Button$Activate"
msgstr ""
msgid "Button$Menu"
msgstr "Meniu"
@ -1123,6 +1136,9 @@ msgstr "Atidaromas dekodavimo modulio meniu..."
msgid "Can't open CAM menu!"
msgstr "Negali atidaryti dekodavimo modulio meniu!"
msgid "Can't activate CAM!"
msgstr ""
msgid "CAM is in use - really reset?"
msgstr "Dekodavimo modulis šiuo metu naudojamas - tikrai perkrauti?"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 2.0.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2015-01-27 13:59+0100\n"
"POT-Creation-Date: 2015-01-30 13:14+0100\n"
"PO-Revision-Date: 2012-11-19 15:18+0100\n"
"Last-Translator: Dimitar Petrovski <dimeptr@gmail.com>\n"
"Language-Team: Macedonian <en@li.org>\n"
@ -20,6 +20,9 @@ msgstr ""
msgid "*** Invalid Channel ***"
msgstr "*** Невалиден Канал ***"
msgid "CAM activated!"
msgstr ""
msgid "Channel not available!"
msgstr "Каналот е недостапен!"
@ -1109,9 +1112,19 @@ msgstr "CAM присутен"
msgid "CAM ready"
msgstr "CAM спремен"
#. TRANSLATORS: note the leading blank!
msgid " (activating)"
msgstr ""
msgid "CAM"
msgstr "CAM"
msgid "Button$Cancel activation"
msgstr ""
msgid "Button$Activate"
msgstr ""
msgid "Button$Menu"
msgstr "Мени"
@ -1124,6 +1137,9 @@ msgstr "Отварам CAM мени..."
msgid "Can't open CAM menu!"
msgstr "Неуспешно отварање на CAM менито!"
msgid "Can't activate CAM!"
msgstr ""
msgid "CAM is in use - really reset?"
msgstr "CAM е во употреба - рестартирај?"

View File

@ -12,7 +12,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 2.0.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2015-01-27 13:59+0100\n"
"POT-Creation-Date: 2015-01-30 13:14+0100\n"
"PO-Revision-Date: 2008-02-26 17:20+0100\n"
"Last-Translator: Cedric Dewijs <cedric.dewijs@telfort.nl>\n"
"Language-Team: Dutch <vdr@linuxtv.org>\n"
@ -24,6 +24,9 @@ msgstr ""
msgid "*** Invalid Channel ***"
msgstr "*** Ongeldig kanaal ***"
msgid "CAM activated!"
msgstr ""
msgid "Channel not available!"
msgstr "Kanaal niet beschikbaar"
@ -1113,9 +1116,19 @@ msgstr "CAM aanwezig"
msgid "CAM ready"
msgstr "CAM gereed"
#. TRANSLATORS: note the leading blank!
msgid " (activating)"
msgstr ""
msgid "CAM"
msgstr "CAM"
msgid "Button$Cancel activation"
msgstr ""
msgid "Button$Activate"
msgstr ""
msgid "Button$Menu"
msgstr "Menu"
@ -1128,6 +1141,9 @@ msgstr "CAM-menu wordt geopend..."
msgid "Can't open CAM menu!"
msgstr "Kan CAM-menu niet openen!"
msgid "Can't activate CAM!"
msgstr ""
msgid "CAM is in use - really reset?"
msgstr "CAM wordt gebruikt - werkelijk herstarten?"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 2.0.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2015-01-27 13:59+0100\n"
"POT-Creation-Date: 2015-01-30 13:14+0100\n"
"PO-Revision-Date: 2007-08-12 14:17+0200\n"
"Last-Translator: Truls Slevigen <truls@slevigen.no>\n"
"Language-Team: Norwegian Nynorsk <vdr@linuxtv.org>\n"
@ -20,6 +20,9 @@ msgstr ""
msgid "*** Invalid Channel ***"
msgstr "*** Ugyldig Kanal! ***"
msgid "CAM activated!"
msgstr ""
msgid "Channel not available!"
msgstr ""
@ -1109,9 +1112,19 @@ msgstr ""
msgid "CAM ready"
msgstr ""
#. TRANSLATORS: note the leading blank!
msgid " (activating)"
msgstr ""
msgid "CAM"
msgstr "CAM"
msgid "Button$Cancel activation"
msgstr ""
msgid "Button$Activate"
msgstr ""
msgid "Button$Menu"
msgstr "Meny"
@ -1124,6 +1137,9 @@ msgstr ""
msgid "Can't open CAM menu!"
msgstr ""
msgid "Can't activate CAM!"
msgstr ""
msgid "CAM is in use - really reset?"
msgstr ""

View File

@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 2.0.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2015-01-27 13:59+0100\n"
"POT-Creation-Date: 2015-01-30 13:14+0100\n"
"PO-Revision-Date: 2008-03-09 12:59+0100\n"
"Last-Translator: Marek Nazarko <mnazarko@gmail.com>\n"
"Language-Team: Polish <vdr@linuxtv.org>\n"
@ -21,6 +21,9 @@ msgstr ""
msgid "*** Invalid Channel ***"
msgstr "*** Niepoprawny kana³ ***"
msgid "CAM activated!"
msgstr ""
msgid "Channel not available!"
msgstr "Kana³ nie jest dostêpny!"
@ -1110,9 +1113,19 @@ msgstr "CAM obecny"
msgid "CAM ready"
msgstr "CAM gotowy"
#. TRANSLATORS: note the leading blank!
msgid " (activating)"
msgstr ""
msgid "CAM"
msgstr "CAM"
msgid "Button$Cancel activation"
msgstr ""
msgid "Button$Activate"
msgstr ""
msgid "Button$Menu"
msgstr "Menu"
@ -1125,6 +1138,9 @@ msgstr "Otwieram menu CAM..."
msgid "Can't open CAM menu!"
msgstr "Nie mo¿na otworzyæ menu CAM!"
msgid "Can't activate CAM!"
msgstr ""
msgid "CAM is in use - really reset?"
msgstr "CAM jest w u¿yciu - naprawdê zresetowaæ?"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 2.0.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2015-01-27 13:59+0100\n"
"POT-Creation-Date: 2015-01-30 13:14+0100\n"
"PO-Revision-Date: 2010-03-28 22:49+0100\n"
"Last-Translator: Cris Silva <hudokkow@gmail.com>\n"
"Language-Team: Portuguese <vdr@linuxtv.org>\n"
@ -20,6 +20,9 @@ msgstr ""
msgid "*** Invalid Channel ***"
msgstr "*** Canal inválido ***"
msgid "CAM activated!"
msgstr ""
msgid "Channel not available!"
msgstr "Canal indisponível!"
@ -1109,9 +1112,19 @@ msgstr "CAM presente"
msgid "CAM ready"
msgstr "CAM pronta"
#. TRANSLATORS: note the leading blank!
msgid " (activating)"
msgstr ""
msgid "CAM"
msgstr "CAM"
msgid "Button$Cancel activation"
msgstr ""
msgid "Button$Activate"
msgstr ""
msgid "Button$Menu"
msgstr "Menu"
@ -1124,6 +1137,9 @@ msgstr "A abrir menu da CAM..."
msgid "Can't open CAM menu!"
msgstr "Impossível abrir menu da CAM!"
msgid "Can't activate CAM!"
msgstr ""
msgid "CAM is in use - really reset?"
msgstr "CAM em uso - reiniciar mesmo?"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 2.0.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2015-01-27 13:59+0100\n"
"POT-Creation-Date: 2015-01-30 13:14+0100\n"
"PO-Revision-Date: 2015-01-21 22:34+0100\n"
"Last-Translator: Lucian Muresan <lucianm@users.sourceforge.net>\n"
"Language-Team: Romanian <vdr@linuxtv.org>\n"
@ -21,6 +21,9 @@ msgstr ""
msgid "*** Invalid Channel ***"
msgstr "*** Canal invalid ***"
msgid "CAM activated!"
msgstr ""
msgid "Channel not available!"
msgstr "Canal indisponibil"
@ -1110,9 +1113,19 @@ msgstr "CAM prezent"
msgid "CAM ready"
msgstr "CAM pregătit"
#. TRANSLATORS: note the leading blank!
msgid " (activating)"
msgstr ""
msgid "CAM"
msgstr "CAM"
msgid "Button$Cancel activation"
msgstr ""
msgid "Button$Activate"
msgstr ""
msgid "Button$Menu"
msgstr "Meniu"
@ -1125,6 +1138,9 @@ msgstr "Deschid meniul CAM..."
msgid "Can't open CAM menu!"
msgstr "Nu pot deschide meniul CAM"
msgid "Can't activate CAM!"
msgstr ""
msgid "CAM is in use - really reset?"
msgstr "CAM-ul este in folosinţă - totuşi resetez?"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 2.0.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2015-01-27 13:59+0100\n"
"POT-Creation-Date: 2015-01-30 13:14+0100\n"
"PO-Revision-Date: 2013-03-10 17:13+0100\n"
"Last-Translator: Oleg Roitburd <oroitburd@gmail.com>\n"
"Language-Team: Russian <vdr@linuxtv.org>\n"
@ -20,6 +20,9 @@ msgstr ""
msgid "*** Invalid Channel ***"
msgstr "*** ½ÕßàÐÒØÛìÝëÙ ÚÐÝÐÛ ***"
msgid "CAM activated!"
msgstr ""
msgid "Channel not available!"
msgstr "ºÐÝÐÛ ÝÕÔÞáâãßÕÝ!"
@ -1109,9 +1112,19 @@ msgstr "CAM
msgid "CAM ready"
msgstr "CAM ÓÞâÞÒ"
#. TRANSLATORS: note the leading blank!
msgid " (activating)"
msgstr ""
msgid "CAM"
msgstr "ÃáÛÞÒÝëÙ ÔÞáâãß"
msgid "Button$Cancel activation"
msgstr ""
msgid "Button$Activate"
msgstr ""
msgid "Button$Menu"
msgstr "¼ÕÝî"
@ -1124,6 +1137,9 @@ msgstr "
msgid "Can't open CAM menu!"
msgstr "¼ÕÝî CAM-ÜÞÔãÛï ÝÕÔÞáâãßÝÞ!"
msgid "Can't activate CAM!"
msgstr ""
msgid "CAM is in use - really reset?"
msgstr "CAM ØáßÞÛì×ãÕâáï - ÔÕÙáâÒØâÕÛìÝÞ ßÕàÕÓàã×Øâì?"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 2.0.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2015-01-27 13:59+0100\n"
"POT-Creation-Date: 2015-01-30 13:14+0100\n"
"PO-Revision-Date: 2013-03-04 21:24+0100\n"
"Last-Translator: Milan Hrala <hrala.milan@gmail.com>\n"
"Language-Team: Slovak <vdr@linuxtv.org>\n"
@ -19,6 +19,9 @@ msgstr ""
msgid "*** Invalid Channel ***"
msgstr "*** Neplatný kanál ***"
msgid "CAM activated!"
msgstr ""
msgid "Channel not available!"
msgstr "Kanál nie je dostupný!"
@ -1108,9 +1111,19 @@ msgstr "CAM pr
msgid "CAM ready"
msgstr "CAM pripravený"
#. TRANSLATORS: note the leading blank!
msgid " (activating)"
msgstr ""
msgid "CAM"
msgstr "CAM (modul podmieneného prístupu)"
msgid "Button$Cancel activation"
msgstr ""
msgid "Button$Activate"
msgstr ""
msgid "Button$Menu"
msgstr "Menu"
@ -1123,6 +1136,9 @@ msgstr "Otv
msgid "Can't open CAM menu!"
msgstr "Menu CAM nie je dostupné"
msgid "Can't activate CAM!"
msgstr ""
msgid "CAM is in use - really reset?"
msgstr "CAM sa pou¾íva - naozaj re¹tartova»?"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 2.0.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2015-01-27 13:59+0100\n"
"POT-Creation-Date: 2015-01-30 13:14+0100\n"
"PO-Revision-Date: 2013-03-04 12:46+0100\n"
"Last-Translator: Matjaz Thaler <matjaz.thaler@guest.arnes.si>\n"
"Language-Team: Slovenian <vdr@linuxtv.org>\n"
@ -20,6 +20,9 @@ msgstr ""
msgid "*** Invalid Channel ***"
msgstr "*** Neznan kanal ***"
msgid "CAM activated!"
msgstr ""
msgid "Channel not available!"
msgstr "Kanal ni razpolo¾ljiv!"
@ -1109,9 +1112,19 @@ msgstr "CAM prisoten"
msgid "CAM ready"
msgstr "CAM pripravljen"
#. TRANSLATORS: note the leading blank!
msgid " (activating)"
msgstr ""
msgid "CAM"
msgstr "CAM"
msgid "Button$Cancel activation"
msgstr ""
msgid "Button$Activate"
msgstr ""
msgid "Button$Menu"
msgstr "Meni"
@ -1124,6 +1137,9 @@ msgstr "Odpiram CAM meni..."
msgid "Can't open CAM menu!"
msgstr "Ne morem odpreti CAM menija!"
msgid "Can't activate CAM!"
msgstr ""
msgid "CAM is in use - really reset?"
msgstr "CAM je v uporabi - zares resetiraj?"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 2.0.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2015-01-27 13:59+0100\n"
"POT-Creation-Date: 2015-01-30 13:14+0100\n"
"PO-Revision-Date: 2013-03-16 15:05+0100\n"
"Last-Translator: Zoran Turalija <zoran.turalija@gmail.com>\n"
"Language-Team: Serbian <vdr@linuxtv.org>\n"
@ -20,6 +20,9 @@ msgstr ""
msgid "*** Invalid Channel ***"
msgstr "*** Neispravan Kanal ***"
msgid "CAM activated!"
msgstr ""
msgid "Channel not available!"
msgstr "Kanal nije dostupan!"
@ -1109,9 +1112,19 @@ msgstr "CAM prisutan"
msgid "CAM ready"
msgstr "CAM spreman"
#. TRANSLATORS: note the leading blank!
msgid " (activating)"
msgstr ""
msgid "CAM"
msgstr "CAM"
msgid "Button$Cancel activation"
msgstr ""
msgid "Button$Activate"
msgstr ""
msgid "Button$Menu"
msgstr "Meni"
@ -1124,6 +1137,9 @@ msgstr "Otvaram CAM meni..."
msgid "Can't open CAM menu!"
msgstr "Otvaranje CAM menija neuspe¹no!"
msgid "Can't activate CAM!"
msgstr ""
msgid "CAM is in use - really reset?"
msgstr "CAM u upotrebi - stvarno ponovno pokrenuti?"

View File

@ -11,7 +11,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 2.0.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2015-01-27 13:59+0100\n"
"POT-Creation-Date: 2015-01-30 13:14+0100\n"
"PO-Revision-Date: 2013-02-18 17:04+0100\n"
"Last-Translator: Richard Lithvall <r-vdr@boomer.se>\n"
"Language-Team: Swedish <vdr@linuxtv.org>\n"
@ -23,6 +23,9 @@ msgstr ""
msgid "*** Invalid Channel ***"
msgstr "*** Felaktig kanal ***"
msgid "CAM activated!"
msgstr ""
msgid "Channel not available!"
msgstr "Kanalen är inte tillgänglig!"
@ -1112,9 +1115,19 @@ msgstr "CAM n
msgid "CAM ready"
msgstr "CAM klar"
#. TRANSLATORS: note the leading blank!
msgid " (activating)"
msgstr ""
msgid "CAM"
msgstr "CAM"
msgid "Button$Cancel activation"
msgstr ""
msgid "Button$Activate"
msgstr ""
msgid "Button$Menu"
msgstr "Meny"
@ -1127,6 +1140,9 @@ msgstr "
msgid "Can't open CAM menu!"
msgstr "Det går inte att öppna CAM menyn!"
msgid "Can't activate CAM!"
msgstr ""
msgid "CAM is in use - really reset?"
msgstr "CAM upptagen, vill du verkligen återställa?"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 2.0.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2015-01-27 13:59+0100\n"
"POT-Creation-Date: 2015-01-30 13:14+0100\n"
"PO-Revision-Date: 2008-02-28 00:33+0100\n"
"Last-Translator: Oktay Yolgeçen <oktay_73@yahoo.de>\n"
"Language-Team: Turkish <vdr@linuxtv.org>\n"
@ -19,6 +19,9 @@ msgstr ""
msgid "*** Invalid Channel ***"
msgstr "*** Geçersiz kanal ***"
msgid "CAM activated!"
msgstr ""
msgid "Channel not available!"
msgstr "Kanal kullanýlamýyor!"
@ -1108,9 +1111,19 @@ msgstr "CAM mevcut"
msgid "CAM ready"
msgstr "CAM hazýr"
#. TRANSLATORS: note the leading blank!
msgid " (activating)"
msgstr ""
msgid "CAM"
msgstr "CAM"
msgid "Button$Cancel activation"
msgstr ""
msgid "Button$Activate"
msgstr ""
msgid "Button$Menu"
msgstr "Menü"
@ -1123,6 +1136,9 @@ msgstr "CAM men
msgid "Can't open CAM menu!"
msgstr "CAM menüsü açýlamýyor!"
msgid "Can't activate CAM!"
msgstr ""
msgid "CAM is in use - really reset?"
msgstr "CAM kullanýlýyor - gerçekden sýfýrla?"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 2.0.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2015-01-27 13:59+0100\n"
"POT-Creation-Date: 2015-01-30 13:14+0100\n"
"PO-Revision-Date: 2013-02-09 16:00+0100\n"
"Last-Translator: Yarema aka Knedlyk <yupadmin@gmail.com>\n"
"Language-Team: Ukrainian <vdr@linuxtv.org>\n"
@ -20,6 +20,9 @@ msgstr ""
msgid "*** Invalid Channel ***"
msgstr "*** Неправильний канал ***"
msgid "CAM activated!"
msgstr ""
msgid "Channel not available!"
msgstr "Канал недоступний!"
@ -1109,9 +1112,19 @@ msgstr "CAM присутній"
msgid "CAM ready"
msgstr "CAM готовий"
#. TRANSLATORS: note the leading blank!
msgid " (activating)"
msgstr ""
msgid "CAM"
msgstr "CAM (Умовний доступ)"
msgid "Button$Cancel activation"
msgstr ""
msgid "Button$Activate"
msgstr ""
msgid "Button$Menu"
msgstr "Меню"
@ -1124,6 +1137,9 @@ msgstr "Відкривання меню CAM-модуля..."
msgid "Can't open CAM menu!"
msgstr "Меню CAM-модуля недоступне!"
msgid "Can't activate CAM!"
msgstr ""
msgid "CAM is in use - really reset?"
msgstr "CAM використовується - дійсно перезапустити?"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 2.0.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2015-01-27 13:59+0100\n"
"POT-Creation-Date: 2015-01-30 13:14+0100\n"
"PO-Revision-Date: 2013-03-04 14:52+0800\n"
"Last-Translator: NFVDR <nfvdr@live.com>\n"
"Language-Team: Chinese (simplified) <nfvdr@live.com>\n"
@ -21,6 +21,9 @@ msgstr ""
msgid "*** Invalid Channel ***"
msgstr "***无效的频道 ***"
msgid "CAM activated!"
msgstr ""
msgid "Channel not available!"
msgstr "频道不可用!"
@ -1110,9 +1113,19 @@ msgstr "存在的CAM"
msgid "CAM ready"
msgstr "CAM准备"
#. TRANSLATORS: note the leading blank!
msgid " (activating)"
msgstr ""
msgid "CAM"
msgstr "CAM设置"
msgid "Button$Cancel activation"
msgstr ""
msgid "Button$Activate"
msgstr ""
msgid "Button$Menu"
msgstr "菜单"
@ -1125,6 +1138,9 @@ msgstr "打开CAM菜单..."
msgid "Can't open CAM menu!"
msgstr "不能打开CAM菜单"
msgid "Can't activate CAM!"
msgstr ""
msgid "CAM is in use - really reset?"
msgstr "CAM正在使用-是否重启?"