From bf7cc2c04fb0678d57ac47d295ef351c3d54b8c4 Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Fri, 30 Jan 2015 13:38:44 +0100 Subject: [PATCH] Added support for smart card activation --- HISTORY | 7 ++++- MANUAL | 14 ++++++++- ci.c | 90 +++++++++++++++++++++++++++++++++++++++++++++++++++-- ci.h | 21 ++++++++++++- device.c | 16 +++++----- menu.c | 71 +++++++++++++++++++++++++++++++++++++++--- po/ar.po | 18 ++++++++++- po/ca_ES.po | 18 ++++++++++- po/cs_CZ.po | 18 ++++++++++- po/da_DK.po | 18 ++++++++++- po/de_DE.po | 18 ++++++++++- po/el_GR.po | 18 ++++++++++- po/es_ES.po | 18 ++++++++++- po/et_EE.po | 18 ++++++++++- po/fi_FI.po | 18 ++++++++++- po/fr_FR.po | 18 ++++++++++- po/hr_HR.po | 18 ++++++++++- po/hu_HU.po | 18 ++++++++++- po/it_IT.po | 18 ++++++++++- po/lt_LT.po | 18 ++++++++++- po/mk_MK.po | 18 ++++++++++- po/nl_NL.po | 18 ++++++++++- po/nn_NO.po | 18 ++++++++++- po/pl_PL.po | 18 ++++++++++- po/pt_PT.po | 18 ++++++++++- po/ro_RO.po | 18 ++++++++++- po/ru_RU.po | 18 ++++++++++- po/sk_SK.po | 18 ++++++++++- po/sl_SI.po | 18 ++++++++++- po/sr_RS.po | 18 ++++++++++- po/sv_SE.po | 18 ++++++++++- po/tr_TR.po | 18 ++++++++++- po/uk_UA.po | 18 ++++++++++- po/zh_CN.po | 18 ++++++++++- 34 files changed, 678 insertions(+), 45 deletions(-) diff --git a/HISTORY b/HISTORY index 278e8b6a..0e45169a 100644 --- a/HISTORY +++ b/HISTORY @@ -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"). diff --git a/MANUAL b/MANUAL index c23aa708..4f783c41 100644 --- a/MANUAL +++ b/MANUAL @@ -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: diff --git a/ci.c b/ci.c index 1072695c..b1958bdc 100644 --- a/ci.c +++ b/ci.c @@ -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); diff --git a/ci.h b/ci.h index 8fea34f1..cdecdf61 100644 --- a/ci.h +++ b/ci.h @@ -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); diff --git a/device.c b/device.c index 3d57611d..14ab07d3 100644 --- a/device.c +++ b/device.c @@ -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); } } diff --git a/menu.c b/menu.c index 318f32c6..f20ff051 100644 --- a/menu.c +++ b/menu.c @@ -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; } diff --git a/po/ar.po b/po/ar.po index 8274453a..e26a4305 100644 --- a/po/ar.po +++ b/po/ar.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 2.0.0\n" "Report-Msgid-Bugs-To: \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 \n" "Language-Team: Arabic \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 "الكامة مستخدمة الان هل تريد اعادة تشغيلها" diff --git a/po/ca_ES.po b/po/ca_ES.po index 836883dd..4d910257 100644 --- a/po/ca_ES.po +++ b/po/ca_ES.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 2.0.0\n" "Report-Msgid-Bugs-To: \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 \n" "Language-Team: Catalan \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?" diff --git a/po/cs_CZ.po b/po/cs_CZ.po index 2483515d..78fa4080 100644 --- a/po/cs_CZ.po +++ b/po/cs_CZ.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 2.0.0\n" "Report-Msgid-Bugs-To: \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 \n" "Language-Team: Czech \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?" diff --git a/po/da_DK.po b/po/da_DK.po index c941e226..c2773f81 100644 --- a/po/da_DK.po +++ b/po/da_DK.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 2.0.0\n" "Report-Msgid-Bugs-To: \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 \n" "Language-Team: Danish \n" @@ -19,6 +19,9 @@ msgstr "" msgid "*** Invalid Channel ***" msgstr "*** Ugyldig kanal! ***" +msgid "CAM activated!" +msgstr "" + msgid "Channel not available!" msgstr "Kanal er ikke tilgngelig!" @@ -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?" diff --git a/po/de_DE.po b/po/de_DE.po index 273bef60..2d0ff569 100644 --- a/po/de_DE.po +++ b/po/de_DE.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 2.0.0\n" "Report-Msgid-Bugs-To: \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 \n" "Language-Team: German \n" @@ -19,6 +19,9 @@ msgstr "" msgid "*** Invalid Channel ***" msgstr "*** Ungltiger Kanal ***" +msgid "CAM activated!" +msgstr "CAM aktiviert!" + msgid "Channel not available!" msgstr "Kanal nicht verfgbar!" @@ -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 geffnet werden!" +msgid "Can't activate CAM!" +msgstr "CAM kann nicht aktiviert werden!" + msgid "CAM is in use - really reset?" msgstr "CAM wird benutzt - wirklich zurcksetzen?" diff --git a/po/el_GR.po b/po/el_GR.po index 4b50e7e3..ab60f68f 100644 --- a/po/el_GR.po +++ b/po/el_GR.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 2.0.0\n" "Report-Msgid-Bugs-To: \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 \n" "Language-Team: Greek \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 "" diff --git a/po/es_ES.po b/po/es_ES.po index 598953af..40d72080 100644 --- a/po/es_ES.po +++ b/po/es_ES.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 2.0.0\n" "Report-Msgid-Bugs-To: \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 \n" "Language-Team: Spanish \n" @@ -20,6 +20,9 @@ msgstr "" msgid "*** Invalid Channel ***" msgstr "*** Canal no vlido ***" +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?" diff --git a/po/et_EE.po b/po/et_EE.po index 65eecb3a..9094c004 100644 --- a/po/et_EE.po +++ b/po/et_EE.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 2.0.0\n" "Report-Msgid-Bugs-To: \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 \n" "Language-Team: Estonian \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?" diff --git a/po/fi_FI.po b/po/fi_FI.po index 83e5b3a8..90aa67c6 100644 --- a/po/fi_FI.po +++ b/po/fi_FI.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 2.0.0\n" "Report-Msgid-Bugs-To: \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 \n" "Language-Team: Finnish \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?" diff --git a/po/fr_FR.po b/po/fr_FR.po index 2e9d74fa..65ed4fb7 100644 --- a/po/fr_FR.po +++ b/po/fr_FR.po @@ -17,7 +17,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 2.0.0\n" "Report-Msgid-Bugs-To: \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 \n" "Language-Team: French \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 ?" diff --git a/po/hr_HR.po b/po/hr_HR.po index 34acd5cc..b9bd7002 100644 --- a/po/hr_HR.po +++ b/po/hr_HR.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 2.0.0\n" "Report-Msgid-Bugs-To: \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 \n" "Language-Team: Croatian \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 neuspjeno!" +msgid "Can't activate CAM!" +msgstr "" + msgid "CAM is in use - really reset?" msgstr "CAM se koristi - ponovno pokrenuti unato?" diff --git a/po/hu_HU.po b/po/hu_HU.po index 08b5e2fd..00dcc247 100644 --- a/po/hu_HU.po +++ b/po/hu_HU.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 2.0.0\n" "Report-Msgid-Bugs-To: \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 \n" "Language-Team: Hungarian \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?" diff --git a/po/it_IT.po b/po/it_IT.po index a895e9b9..78456437 100644 --- a/po/it_IT.po +++ b/po/it_IT.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 2.0.0\n" "Report-Msgid-Bugs-To: \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 \n" "Language-Team: Italian \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?" diff --git a/po/lt_LT.po b/po/lt_LT.po index 1e6b8370..e76ef363 100644 --- a/po/lt_LT.po +++ b/po/lt_LT.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 2.0.0\n" "Report-Msgid-Bugs-To: \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 \n" "Language-Team: Lithuanian \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?" diff --git a/po/mk_MK.po b/po/mk_MK.po index 3fd032ed..418381c2 100644 --- a/po/mk_MK.po +++ b/po/mk_MK.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 2.0.0\n" "Report-Msgid-Bugs-To: \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 \n" "Language-Team: Macedonian \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 е во употреба - рестартирај?" diff --git a/po/nl_NL.po b/po/nl_NL.po index 83a06094..7f9af104 100644 --- a/po/nl_NL.po +++ b/po/nl_NL.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 2.0.0\n" "Report-Msgid-Bugs-To: \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 \n" "Language-Team: Dutch \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?" diff --git a/po/nn_NO.po b/po/nn_NO.po index 57582b8e..6eb63fab 100644 --- a/po/nn_NO.po +++ b/po/nn_NO.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 2.0.0\n" "Report-Msgid-Bugs-To: \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 \n" "Language-Team: Norwegian Nynorsk \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 "" diff --git a/po/pl_PL.po b/po/pl_PL.po index f710e536..18c8662c 100644 --- a/po/pl_PL.po +++ b/po/pl_PL.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 2.0.0\n" "Report-Msgid-Bugs-To: \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 \n" "Language-Team: Polish \n" @@ -21,6 +21,9 @@ msgstr "" msgid "*** Invalid Channel ***" msgstr "*** Niepoprawny kana ***" +msgid "CAM activated!" +msgstr "" + msgid "Channel not available!" msgstr "Kana nie jest dostpny!" @@ -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 mona otworzy menu CAM!" +msgid "Can't activate CAM!" +msgstr "" + msgid "CAM is in use - really reset?" msgstr "CAM jest w uyciu - naprawd zresetowa?" diff --git a/po/pt_PT.po b/po/pt_PT.po index 37085079..b3a891cc 100644 --- a/po/pt_PT.po +++ b/po/pt_PT.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 2.0.0\n" "Report-Msgid-Bugs-To: \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 \n" "Language-Team: Portuguese \n" @@ -20,6 +20,9 @@ msgstr "" msgid "*** Invalid Channel ***" msgstr "*** Canal invlido ***" +msgid "CAM activated!" +msgstr "" + msgid "Channel not available!" msgstr "Canal indisponvel!" @@ -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 "Impossvel abrir menu da CAM!" +msgid "Can't activate CAM!" +msgstr "" + msgid "CAM is in use - really reset?" msgstr "CAM em uso - reiniciar mesmo?" diff --git a/po/ro_RO.po b/po/ro_RO.po index 57b5a944..25766cf0 100644 --- a/po/ro_RO.po +++ b/po/ro_RO.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 2.0.0\n" "Report-Msgid-Bugs-To: \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 \n" "Language-Team: Romanian \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?" diff --git a/po/ru_RU.po b/po/ru_RU.po index 197db3a5..e0a291aa 100644 --- a/po/ru_RU.po +++ b/po/ru_RU.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 2.0.0\n" "Report-Msgid-Bugs-To: \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 \n" "Language-Team: Russian \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 - ?" diff --git a/po/sk_SK.po b/po/sk_SK.po index cbefcc9a..c8c4225b 100644 --- a/po/sk_SK.po +++ b/po/sk_SK.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 2.0.0\n" "Report-Msgid-Bugs-To: \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 \n" "Language-Team: Slovak \n" @@ -19,6 +19,9 @@ msgstr "" msgid "*** Invalid Channel ***" msgstr "*** Neplatn kanl ***" +msgid "CAM activated!" +msgstr "" + msgid "Channel not available!" msgstr "Kanl 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 podmienenho prstupu)" +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 pouva - naozaj retartova?" diff --git a/po/sl_SI.po b/po/sl_SI.po index 2696b036..9d58dd53 100644 --- a/po/sl_SI.po +++ b/po/sl_SI.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 2.0.0\n" "Report-Msgid-Bugs-To: \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 \n" "Language-Team: Slovenian \n" @@ -20,6 +20,9 @@ msgstr "" msgid "*** Invalid Channel ***" msgstr "*** Neznan kanal ***" +msgid "CAM activated!" +msgstr "" + msgid "Channel not available!" msgstr "Kanal ni razpololjiv!" @@ -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?" diff --git a/po/sr_RS.po b/po/sr_RS.po index 12a92bff..dbe75fde 100644 --- a/po/sr_RS.po +++ b/po/sr_RS.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 2.0.0\n" "Report-Msgid-Bugs-To: \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 \n" "Language-Team: Serbian \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 neuspeno!" +msgid "Can't activate CAM!" +msgstr "" + msgid "CAM is in use - really reset?" msgstr "CAM u upotrebi - stvarno ponovno pokrenuti?" diff --git a/po/sv_SE.po b/po/sv_SE.po index 9b4392dd..33add95c 100644 --- a/po/sv_SE.po +++ b/po/sv_SE.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 2.0.0\n" "Report-Msgid-Bugs-To: \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 \n" "Language-Team: Swedish \n" @@ -23,6 +23,9 @@ msgstr "" msgid "*** Invalid Channel ***" msgstr "*** Felaktig kanal ***" +msgid "CAM activated!" +msgstr "" + msgid "Channel not available!" msgstr "Kanalen r inte tillgnglig!" @@ -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 gr inte att ppna CAM menyn!" +msgid "Can't activate CAM!" +msgstr "" + msgid "CAM is in use - really reset?" msgstr "CAM upptagen, vill du verkligen terstlla?" diff --git a/po/tr_TR.po b/po/tr_TR.po index 85f049cf..e6708427 100644 --- a/po/tr_TR.po +++ b/po/tr_TR.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 2.0.0\n" "Report-Msgid-Bugs-To: \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 Yolgeen \n" "Language-Team: Turkish \n" @@ -19,6 +19,9 @@ msgstr "" msgid "*** Invalid Channel ***" msgstr "*** Geersiz kanal ***" +msgid "CAM activated!" +msgstr "" + msgid "Channel not available!" msgstr "Kanal kullanlamyor!" @@ -1108,9 +1111,19 @@ msgstr "CAM mevcut" msgid "CAM ready" msgstr "CAM hazr" +#. 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 mens alamyor!" +msgid "Can't activate CAM!" +msgstr "" + msgid "CAM is in use - really reset?" msgstr "CAM kullanlyor - gerekden sfrla?" diff --git a/po/uk_UA.po b/po/uk_UA.po index b70e35c8..351d94df 100644 --- a/po/uk_UA.po +++ b/po/uk_UA.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 2.0.0\n" "Report-Msgid-Bugs-To: \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 \n" "Language-Team: Ukrainian \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 використовується - дійсно перезапустити?" diff --git a/po/zh_CN.po b/po/zh_CN.po index fc2f35d1..bf253817 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 2.0.0\n" "Report-Msgid-Bugs-To: \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 \n" "Language-Team: Chinese (simplified) \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正在使用-是否重启?"