pax_global_header00006660000000000000000000000064135413415640014520gustar00rootroot0000000000000052 comment=b73b50f628f8516f53ec49450a54cd0b6d4fa9f3 pvr.wmc-2.4.5-Leia/000077500000000000000000000000001354134156400137745ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/.gitignore000066400000000000000000000006521354134156400157670ustar00rootroot00000000000000# build artifacts build/ debian/changelog debian/files debian/kodi-pvr-wmc-dbg.debhelper.log debian/kodi-pvr-wmc-dbg.substvars debian/kodi-pvr-wmc-dbg/ debian/kodi-pvr-wmc.debhelper.log debian/kodi-pvr-wmc.postinst.debhelper debian/kodi-pvr-wmc.postrm.debhelper debian/kodi-pvr-wmc.substvars debian/kodi-pvr-wmc/ debian/tmp/ obj-x86_64-linux-gnu/ pvr.wmc/addon.xml # clion .idea/ # Eclipse/CDT .cproject .project .settings/ pvr.wmc-2.4.5-Leia/.travis.yml000066400000000000000000000022201354134156400161010ustar00rootroot00000000000000language: cpp # # Define the build matrix # # Travis defaults to building on Ubuntu Trusty when building on # Linux. We need Xenial in order to get up to date versions of # cmake and g++. # env: global: - app_id=pvr.wmc matrix: include: - os: linux dist: xenial sudo: required compiler: gcc - os: linux dist: xenial sudo: required compiler: clang - os: osx osx_image: xcode9 - os: osx osx_image: xcode9.4 # # The addon source is automatically checked out in $TRAVIS_BUILD_DIR, # we'll put the Kodi source on the same level # before_script: - cd $TRAVIS_BUILD_DIR/.. - git clone --branch Leia --depth=1 https://github.com/xbmc/xbmc.git - cd ${app_id} && mkdir build && cd build - mkdir -p definition/${app_id} - echo ${app_id} $TRAVIS_BUILD_DIR $TRAVIS_COMMIT > definition/${app_id}/${app_id}.txt - cmake -DADDONS_TO_BUILD=${app_id} -DADDON_SRC_PREFIX=$TRAVIS_BUILD_DIR/.. -DADDONS_DEFINITION_DIR=$TRAVIS_BUILD_DIR/build/definition -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=$TRAVIS_BUILD_DIR/../xbmc/addons -DPACKAGE_ZIP=1 $TRAVIS_BUILD_DIR/../xbmc/cmake/addons script: make pvr.wmc-2.4.5-Leia/CMakeLists.txt000066400000000000000000000016731354134156400165430ustar00rootroot00000000000000cmake_minimum_required(VERSION 3.5) project(pvr.wmc) find_package(Kodi REQUIRED) find_package(kodiplatform REQUIRED) find_package(p8-platform REQUIRED) include_directories(${kodiplatform_INCLUDE_DIRS} ${p8-platform_INCLUDE_DIRS} ${KODI_INCLUDE_DIR}/..) # Hack way with "/..", need bigger Kodi cmake rework to match right include ways add_definitions(-DUSE_DEMUX) set(WMC_SOURCES src/client.cpp src/pvr2wmc.cpp src/Socket.cpp src/utilities.cpp) set(WMC_HEADERS src/client.h src/clientversion.h src/pvr2wmc.h src/Socket.h src/utilities.h) set(DEPLIBS ${kodiplatform_LIBRARIES} ${p8-platform_LIBRARIES}) if (WIN32) list(APPEND DEPLIBS ws2_32) add_compile_options(/wd4996) # Need gethostbyname and inet_addr change to prevent endif() build_addon(pvr.wmc WMC DEPLIBS) include(CPack) pvr.wmc-2.4.5-Leia/Jenkinsfile000066400000000000000000000000351354134156400161560ustar00rootroot00000000000000buildPlugin(version: "Leia") pvr.wmc-2.4.5-Leia/README.md000066400000000000000000000020531354134156400152530ustar00rootroot00000000000000[![Build Status](https://travis-ci.org/kodi-pvr/pvr.wmc.svg?branch=Leia)](https://travis-ci.org/kodi-pvr/pvr.wmc/branches) [![Build Status](https://ci.appveyor.com/api/projects/status/github/kodi-pvr/pvr.wmc?branch=Leia&svg=true)](https://ci.appveyor.com/project/kodi-pvr/pvr-wmc?branch=Leia) [![Coverity Scan Build Status](https://scan.coverity.com/projects/5120/badge.svg)](https://scan.coverity.com/projects/5120) # Windows Media Center PVR Windows Media Center PVR client addon for [Kodi] (https://kodi.tv) ## Build instructions ### Linux 1. `git clone --branch Leia https://github.com/xbmc/xbmc.git` 2. `git clone https://github.com/kodi-pvr/pvr.wmc.git` 3. `cd pvr.wmc && mkdir build && cd build` 4. `cmake -DADDONS_TO_BUILD=pvr.wmc -DADDON_SRC_PREFIX=../.. -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=../../xbmc/addons -DPACKAGE_ZIP=1 ../../xbmc/cmake/addons` 5. `make` ##### Useful links * [Kodi's PVR user support] (https://forum.kodi.tv/forumdisplay.php?fid=167) * [Kodi's PVR development support] (https://forum.kodi.tv/forumdisplay.php?fid=136) pvr.wmc-2.4.5-Leia/appveyor.yml000066400000000000000000000022331354134156400163640ustar00rootroot00000000000000version: BuildNr.{build} image: Visual Studio 2017 shallow_clone: true clone_folder: c:\projects\pvr.wmc environment: app_id: pvr.wmc matrix: - GENERATOR: "Visual Studio 15" CONFIG: Release - GENERATOR: "Visual Studio 15 Win64" CONFIG: Release - GENERATOR: "Visual Studio 15 Win64" CONFIG: Release WINSTORE: -DCMAKE_SYSTEM_NAME=WindowsStore -DCMAKE_SYSTEM_VERSION="10.0.16299.0" - GENERATOR: "Visual Studio 15 ARM" CONFIG: Release WINSTORE: -DCMAKE_SYSTEM_NAME=WindowsStore -DCMAKE_SYSTEM_VERSION="10.0.16299.0" build_script: - cd .. - git clone --branch Leia --depth=1 https://github.com/xbmc/xbmc.git - cd %app_id% - mkdir build - cd build - mkdir -p definition\%app_id% - echo %app_id% %APPVEYOR_BUILD_FOLDER% %APPVEYOR_REPO_COMMIT% > definition\%app_id%\%app_id%.txt - cmake -T host=x64 -G "%GENERATOR%" %WINSTORE% -DADDONS_TO_BUILD=%app_id% -DCMAKE_BUILD_TYPE=%CONFIG% -DADDONS_DEFINITION_DIR=%APPVEYOR_BUILD_FOLDER%/build/definition -DADDON_SRC_PREFIX=../.. -DCMAKE_INSTALL_PREFIX=../../xbmc/addons -DPACKAGE_ZIP=1 ../../xbmc/cmake/addons - cmake --build . --config %CONFIG% --target %app_id% pvr.wmc-2.4.5-Leia/debian/000077500000000000000000000000001354134156400152165ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/debian/changelog.in000066400000000000000000000002611354134156400174740ustar00rootroot00000000000000kodi-pvr-wmc (#PACKAGEVERSION#-#TAGREV#~#DIST#) #DIST#; urgency=low [ kodi ] * autogenerated dummy changelog -- Nobody Sat, 01 Jun 2013 00:59:22 +0200 pvr.wmc-2.4.5-Leia/debian/compat000066400000000000000000000000021354134156400164140ustar00rootroot000000000000009 pvr.wmc-2.4.5-Leia/debian/control000066400000000000000000000010621354134156400166200ustar00rootroot00000000000000Source: kodi-pvr-wmc Priority: extra Maintainer: Nobody Build-Depends: debhelper (>= 9.0.0), cmake, libkodiplatform-dev (>= 17.1.0), kodi-addon-dev Standards-Version: 3.9.4 Section: libs Package: kodi-pvr-wmc Section: libs Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Description: WMC PVR for Kodi WMC PVR for Kodi Package: kodi-pvr-wmc-dbg Section: libs Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Description: debugging symbols for WMC PVR for Kodi debugging symbols for WMC PVR for Kodi pvr.wmc-2.4.5-Leia/debian/copyright000066400000000000000000000027451354134156400171610ustar00rootroot00000000000000Format: http://dep.debian.net/deps/dep5 Upstream-Name: pvr.hts Source: Files: * Copyright: License: . # If you want to use GPL v2 or later for the /debian/* files use # the following clauses, or change it to suit. Delete these two lines Files: debian/* Copyright: 2013 Arne Morten Kvarving License: GPL-2+ This package is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. . This package is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. . You should have received a copy of the GNU General Public License along with this program. If not, see . On Debian systems, the complete text of the GNU General Public License version 2 can be found in "/usr/share/common-licenses/GPL-2". # Please also look if there are files or directories which have a # different copyright/license attached and list them here. pvr.wmc-2.4.5-Leia/debian/kodi-pvr-wmc.install000066400000000000000000000000221354134156400211170ustar00rootroot00000000000000usr/lib usr/share pvr.wmc-2.4.5-Leia/debian/rules000077500000000000000000000012771354134156400163050ustar00rootroot00000000000000#!/usr/bin/make -f # -*- makefile -*- # Sample debian/rules that uses debhelper. # This file was originally written by Joey Hess and Craig Small. # As a special exception, when this file is copied by dh-make into a # dh-make output file, you may use that output file without restriction. # This special exception was added by Craig Small in version 0.37 of dh-make. # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 %: dh $@ override_dh_auto_configure: dh_auto_configure -- -DCMAKE_BUILD_TYPE=RelWithDebInfo -DBUILD_SHARED_LIBS=1 -DUSE_LTO=1 override_dh_strip: dh_strip -pkodi-pvr-wmc --dbg-package=kodi-pvr-wmc-dbg override_dh_installdocs: dh_installdocs --link-doc=kodi-pvr-wmc pvr.wmc-2.4.5-Leia/debian/source/000077500000000000000000000000001354134156400165165ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/debian/source/format000066400000000000000000000000151354134156400177250ustar00rootroot000000000000003.0 (native) pvr.wmc-2.4.5-Leia/pvr.wmc/000077500000000000000000000000001354134156400153705ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/pvr.wmc/addon.xml.in000066400000000000000000000505571354134156400176200ustar00rootroot00000000000000 @ADDON_DEPENDS@ PVR WMC Kliënt የ PVR WMC ደንበኛ Клиента за ПВР „WMC“ Client PVR WMC Klient PVR WMC Cleiant WMC PVR PVR WMC klient PVR WMC-Client Πελάτης PVR του WMC PVR WMC Client PVR WMC Client PVR WMC Client PVR WMC Client Cliente PVR WMC Cliente PVR WMC Cliente PVR WMC PVR WMC klient Kodin WMC-asiakasohjelma Client de numériscope pour CMW Client enregistreur vidéo (PVR) WMC Cliente PVR do WMC לקוח טלוויזיה חיה עבור WMC PVR WMC klijent PVR WMC Kliens Klien PVR WMC PVR WMC upptökubiðlari Client PVR WMC PVR WMC 클라이언트 PVR WMC klientas PVR WMC klients PVR WMC клиент Klien PVR WMC Klijent tal-PVR WMC PVR WMC-klient PVR WMC Cliënt Klient telewizji dla WMC Cliente de PVR WMC Cliente WMC PVR Client PVR WMC Клиент PVR WMC PVR WMC klient Odjemalec PVR WMC PVR WMC Клијент PVR WMC Klijent PVR WMC-klient Klijynt telewizyje dlŏ WMC PVR WMC క్లయింట్ PVR WMC İstemcisi Клієнт PVR WMC WMC PVR 客户端 PVR WMC用戶端 @OS@ @ARCHITECTURE@ Weergawe. 'n PVR kliënt om met Windows Media Center Recording en EPG dienste te skakel. Dankie vir Tomba73 en Hoopsdavis. Spesiale dankie aan DBurckh. Издание за @OS@ – @ARCHITECTURE@. Клиент за ПВР, който работи с услугите на „Windows Media Center“ за записване и електронен програмен справочник. Благодарности на Tomba73 и Hoopsdavis. Специални благодарности на DBurckh. Edice pro @OS@ @ARCHITECTURE@. Klient PVR pro rozhraní služeb nahrávání a televezního programu Windows Media Centra. Díky pro Tomba73 a Hoopsdavis. Speciální díky pro DBurckh. @OS@ @ARCHITECTURE@ VERSION. En PVR klient der interagere med Windows Media Centers optagelse og EPG services. Tak til Tomba73 og Hoopsdavis. En speciel tak til DBurckh. @OS@ @ARCHITECTURE@ Edition. Ein PVR-Client zur Verknüpfung mit den Aufnahme- und EPG-Diensten des Windows Media Centers. Dank an Tomba73 und Hoopsdavis. Besonderer Dank an DBurckh. Έκδοση @OS@ @ARCHITECTURE@. Ένας πελάτης PVR για διασύνδεση με τις υπηρεσίες Εγγραφής και EPG του Windows Media Center. Ευχαριστούμε τους Tomba73 και Hoopsdavis. Ένα ιδιαίτερο ευχαριστώ στον DBurckh. @OS@ @ARCHITECTURE@ Edition. A PVR client to interface with Windows Media Centre's Recording and EPG services. Thanks to Tomba73 and Hoopsdavis. Special thanks to DBurckh. @OS@ @ARCHITECTURE@ Edition. A PVR client to interface with Windows Media Center's Recording and EPG services. Thanks to Tomba73 and Hoopsdavis. Special thanks to DBurckh. @OS@ @ARCHITECTURE@ Edition. A PVR client to interface with Windows Media Center's Recording and EPG services. Thanks to Tomba73 and Hoopsdavis. Special thanks to DBurckh. @OS@ @ARCHITECTURE@ Edition. A PVR client to interface with Windows Media Center's Recording and EPG services. Thanks to Tomba73 and Hoopsdavis. Special thanks to DBurckh. Edición @OS@ @ARCHITECTURE@. Un cliente A PVR para interactuar con los servicios Recording & EPG de Windows Media Center. Gracias a Tomba73 y Hoopsdavis. Agradecimientos especiales a DBurckh. Edición @OS@ @ARCHITECTURE@. Un cliente PVR que hace de interface con los servicios de grabación y EPG de Windows Media Center. Agradecimientos a Tomba73 y Hoopsdavis. Agradecimientos especiales a DBurckh. @OS@ @ARCHITECTURE@ Edition. Un cliente PVR para interactuar con los servicios de Grabación y EPG de Windows Media Center. Gracias a Tomba73 y Hoopsdavis. Gracias especiales a DBurckh. @OS@ @ARCHITECTURE@ -versio. Tämä PVR-asiakasohjelma on tarkoitettu käytettäväksi yhdessä Windows Media Centerin kanssa. Kiitokset Tomba 73:lle ja Hoopsdavisille. Erityiskiitokset DBurckhille. Édition @ARCHITECTURE@ @SE@. Un client de numériscope pour interfacer avec les services d’enregistrement et de GÉP du Centre Multimédia Windows. Merci à Tomba73 et Hoopsdavis. Un grand merci à DBurckh. Édition @OS@ @ARCHITECTURE@. Un client enregistreur vidéo (PVR) s'interfaçant avec les services d'enregistrement et de guide électronique des programmes TV de Windows Media Center. Merci à Tomba73 et Hoopsdavis. Un merci spécial à DBurckh. Edición @OS@ @ARCHITECTURE@. Un cliente PVR para os servizos de Gravación e Guía do Windows Media Center. Grazas a Tomba73 e Hoopsdavis. Grazas especiais a DBurckh. גרסת @OS@ @ARCHITECTURE@. לקוח טלוויזיה חיה של Windows Media Center. תומך בהזרמת שידורים חיים והקלטות, הצגת לוח שידורים ותזמון הקלטות. @OS@ @ARCHITECTURE@ izdanje. PVR klijent za povezivanje sa snimanjima i EPG uslugom Windows Media Centra.. Zahvaljujemo Tomba73 i Hoopsdavis. Posebna zahvala DBurckh. @OS@ @ARCHITECTURE@ Kiadás. Egy PVR kliens a Windows Media Center felvételeihez és EPG szolgáltatáshoz. Köszönet: JeffreyF, Tomba73, Hoopsdavis. Különleges köszönet: DBurckh. Edisi @OS@ @ARCHITECTURE@. Sebuah klien PVR untuk berhubungan dengan Perekaman Windows Media Center dan layanan EPG. Terimakasih untuk Tomba73 dan Hoopsdavis. Terimakasih khusus untuk DBurckh. @OS@ @ARCHITECTURE@ útgáfa. PVR-biðlari til að tala við Windows Media Center's upptöku og rafræna dagskrárþjónustur. Þakkir fá Tomba73 og Hoopsdavis. Sérstakar þakkir fær DBurckh. Edizione @OS@ @ARCHITECTURE@. Un client PVR per interfacciarsi con i servizi di registrazione ed EPG di Windows Media Center. Grazie a Tomba73 e Hoopsdavis. Un ringraziamento speciale a DBurckh. @OS@ @ARCHITECTURE@ Edition. Windows Media Center의 녹화 및 EPG 서비스와 연결되는 PVR 클라이언트입니다. Tomba73 과 Hoopsdavis 에게 감사드립니다. DBurckh 에게 특별한 감사의 말을 남깁니다. @OS@ @ARCHITECTURE@ leidimas. PVR kliento sąsaja su Windows Media Center's įrašymo ir EPG paslaugomis. Dėkojame Tomba73 ir Hoopsdavis. Ypatingai ačiū DBurckh. @OS@ @ARCHITECTURE@ izdevums. PVR klients saskarnei ar Windows Media Center Recording un EPG pakalpojumu. Pateicamies Tomba73 un Hoopsdavis. Īpašs paldies DBurckh. @OS@ @ARCHITECTURE@ едиција. PVR клиент кој служи како интерфејс со EPG и сервисите за снимање на Windows Media Center. Благодарност кон Tomba73 и Hoopsdavis. Особено благодарност кон DBurckh. Edisi @OS@ @ARCHITECTURE@. Klien PVR yang memberi antaramuka dengan Rakaman Windows Media Center dan perkhidmatan EPG. Terima kasih buat Tomba73 dan Hoopsdavis. Terima kasih juga kepada DBurckh. Edizzjoni @OS@ @ARCHITECTURE@. Klijent tal-PVR biex jikkoordina mas-servizzi ta rekording u EPG tal- Windows Media Centre. Grazzi lil Tomba73 u lil Hoopsdavis. Grazzi b'mod speċjali lil DBurckh. @OS@ @ARCHITECTURE@ Versjon. En PVR-klient som gir grensesnitt med Windows Mediasenters opptak og EPG-tjenester. Takk til Tomba73 og Hoopsdavis. Spesiellt takk til DBurckh @OS@ @ARCHITECTUUR@ Editie. Een PVR-cliënt om te samen te werken met Windows Mediacenters opname en EPG-diensten, dank aan Tomba73 and Hoopsdavis. Speciale dank gaat uit naar DBurckh. Edycja dla @OS@ @ARCHITECTURE@. Klient telewizji dla Windows Media Center i usług przewodnika telewizyjnego. Podziękowania dla Tomba73 i Hoopsdavis. Specjalne podziękowania dla DBurckh. Edição @OS@ @ARCHITECTURE@. Um cliente de PVR para fazer a ponte com recurso de gravação e serviços de EPG do Windows Media Center. Obrigado Tomba73 e Hoopsdavis. Agradecimento Especial a DBurckh. Edição @OS@ @ARCHITECTURE@. Um cliente de PVR para fazer a interface com a gravação e serviços de EPG do Windows Media Center. Obrigado a Tomba73 e Hoopsdavis. Um agradecimento especial a DBurckh. Ediția @OS@ @ARCHITECTURE@. Un client PVR client pentru conectarea cu înregistrările și serviciile EPG ale Windows Media Center. Mulțumiri lui Tomba73 și Hoopsdavis. Mulțumiri speciale lui DBurckh. Редакция @OS@ @ARCHITECTURE@.Клиент PVR для взаимодействия с записью Windows Media Center и сервисом EPG. Благодарности Tomba73 и Hoopsdavis. Особые благодарности DBurckh. Klient pre @OS@ @ARCHITECTURE@. PVR klient pre prístup k Windows Media Center nahrávkam a EPG informáciám. Poďakovanie pre Tomba73 a Hoopsdavis. Špeciálne poďakovanie pre DBurckh. @OS@ izdaja @ARCHITECTURE@. Odjemalec PVR kot vmesnik za storitve snemanja in EPG na Windows Media Centru. Zahvale: Tomba73 in Hoopsdavis. Posebna zahvala: DBurckh. @OS@ARCHITECTURE@ издање. PVR клијент за повезивање са Windows Media Center сервисима снимања и EPG . Хвала Tomba73 и Hoopsdavis. Посебно хвала DBurckh. @OS@ @ARCHITECTURE@ izdanje. PVR klijent za povezivanje sa Windows Media Center servisima snimanja i EPG. Hvala Tomba73 i Hoopsdavis. Posebno hvala DBurckh. @OS@ @ARCHITECTURE@ Utgåva. En PVR-klient för att hantera Windows Media Centers inspelnings- och EPG-tjänst. Tack till Tomba73 och Hoopsdavis. Speciellt tack till DBurckh. Edycyjŏ dlŏ @ÔS@ @ARCHITECTURE@. Klijynt telewizyje dlŏ Windows Mydia Center. Podziyńkowania dlŏ Tomba73 i Hoopsdavis. Ekstra podziyńkowania dlŏ DBurckh. @ OS @ @ ఆర్కిటెక్చర్ @ ఎడిషన్. PVR క్లయింట్ విండోస్ మీడియా సెంటర్ యొక్క రికార్డింగ్ మరియు EPG సేవలు ఇంటర్ఫేస్. Tomba73 మరియు Hoopsdavis ధన్యవాదాలు. DBurckh ప్రత్యేక ధన్యవాదాలు. @OS@ @ARCHITECTURE@ Sürümü. Windows Media Center ve EPG hizmetleri ile arayüz oluşturmak üzere bir PVR istemcisi. Tomba73 ve Hoopsdavis'e teşekkürler. Özel teşekkürlerimiz: DBurckh'a. @OS@ @ARCHITECTURE@ 版。针对 Windows 媒体中心录像和电子节目单服务的 PVR 客户端界面。感谢 Tomba73 和 Hoopsdavis,特别感谢 DBurckh。 @OS@ @ARCHITECTURE@ Edition. 為與Windows Media Center的錄影及電子節目表服務界接而開發的用戶端軟體。感謝Tomba73及Hoopsdavis。特別鳴謝DBurckh。 Hierdie is eksperimentele sagteware. Gebruik op jou eie risiko. Това е експериментален софтуер. Ползвайте го на свой собствен риск. Aquest és programari experimental. Utilitzeu-lo sota la vostra responsabilitat. Toto je experimentální software. Používejte na vlastní riziko. Meddalwedd arbrofol yw hon. Defnyddiwch gyda synnwyr cyffredin. Dette er software under udvikling. Brug på eget ansvar. Dies ist eine experimentelle Software. Benutzung auf eigene Gefahr. Δοκιμαστική εφαρμογή. Χρησιμοποιήστε τη υπ' ευθύνη σας. This is experimental software. Use at your own risk. This is experimental software. Use at your own risk. This is experimental software. Use at your own risk. This is experimental software. Use at your own risk. Este software es experimental. Úselo bajo su propio riesgo. Es un programa experimental. Úsalo bajo tu responsabilidad. Este es software experimental. Usalo bajo tu propio riesgo. Tämä on epävakaa ohjelma! Sen tekijät eivät ole millään muotoa vastuussa epäonnistuneista tallennuksista, virheellisistä ajastuksista, haaskatusta ajasta, verenpaineen noususta tai mistään muusta epäsuotuisasta vaikutuksesta. Ce logiciel est expérimental. Utilisez à vos propres risques. Logiciel expérimental. À utiliser à vos risques et périls. Aínda se está no desenvolvemento. Usar baixo o seu propio risco. זוהי הרחבה נסיונית. השימוש באחריות המשתמש בלבד. Ovo je eksperimentalan softver. Koristite ga na vlastitu odgovornost. Fejlesztés alatt! A saját felelősségére használja! Perangkat lunak ini masih eksperimental. Resiko ditanggung penumpang. Þetta er tilraunahugbúnaður. Notið á eigin ábyrgð. Prova questo software sperimentale. Usalo a tuo rischio e pericolo. これは実験的なソフトウェアです。利用は自己責任でお願いします。 이것은 실험적인 소프트웨어 입니다. 본인의 책임하에 사용해주세요. Tai yra eksperimentinė programinė įranga. Naudodami ją prisiimate visą riziką. Šī ir eksperimentāla programmatūra. Izmantojiet paši uz savu risku. Ова е експериментален софтвер. Користи на сопствен ризик. Ia masih dalam pembangunan. Guna atas risiko sendiri. Dan hu programm esperimentali. Użah għar-riskju tiegħek. Dette er en ekspermitell programvare. Benytt på egen risiko. Dit is experimentele software. Gebruik het op eigen risico. Oprogramowanie nadal jest w fazie rozwoju i jest niestabilne! Autorzy w żaden sposób nie są odpowiedzialni za nieudane nagrania, błędy w harmonogramie nagrań, zmarnowany czas ani jakiekolwiek inne niepożądane efekty. Este é um trabalho em progresso. Use a seu próprio risco Este software é experimental. Use-o por sua conta e risco. Această parte din program nu este stabilă. Folosiți-o pe riscul dumneavoastră. Это экспериментальное ПО. Используйте под свою ответственность. Toto je experimentálny softvér. Používajte ho preto na vlastné riziko. To je eksperimentalna programska oprema. Uporaba na lastno odgovornost. Ово је експериментални софтвер. Користите на свој ризик. Ovo je eksperimentalni softver. Koristite na svoj rizik. Detta är en experimentell mjukvara. Används på egen risk. Software durch je w fazie rozrostu i je niysztabilne! Autory w żŏdyn knif niy sōm ôdpedzialni za niypodarzōne nagrania, felery w harmōnogramie nagrań, stracōny czŏs ani jaki ino inksze niynazdane efekty. ఈ ప్రయోగాత్మక సాఫ్ట్వేర్. మీ స్వంత పూచీకత్తుతో ఉపయోగించండి. Bu deneysel bir yazılımdır. Kullanım riski kendi sorumluluğunuzdadır. Це експериментальне програмне забезпечення. Використовуйте на свій страх і ризик. 试验性软件,使用风险自担。 這是開發中的軟體。使用上您須自行考慮到可能有的風險。 @PLATFORM@ pvr.wmc-2.4.5-Leia/pvr.wmc/changelog.txt000066400000000000000000000140641354134156400200650ustar00rootroot00000000000000 2.4.5 - Update build sytem version - Update addon interface header usage 2.4.4 - implemented GetRecordingEdl 2.4.0 - implemented GetStreamTimes, removed BufferTime functions 2.3.0 - Updated to PVR addon API v5.10.0 2.2.6 - Updated to PVR addon API v5.9.0 2.2.0 - Updated to PVR addon API v5.7.0 2.1.0 - Updated to PVR addon API v5.3.0 2.0.5 - Remove of never used addon interface function 2.0.4 - Update Debian package control - PVR addon callback way changes 2.0.3 - Removed old no more needed version functions 2.0.2 - Set dependency versions automatic during build - Removed never used kodi to addon functions - Build system fixes 2.0.1 - Updated Language files from Transifex 2.0.0 - Initial Kodi v18 version 1.4.4 - Updated Language files from Transifex 1.4.3 - Updated Language files from Transifex 1.4.2 - Updated Language files from Transifex 1.4.1 - Updated Language files from Transifex 1.4.0 - Cmake: rename find_package kodi to Kodi 1.3.1 - Fix includes 1.3.0 - Updated to PVR addon API v5.2.0 1.2.1 - Updated to PVR addon API v5.1.1 1.2.0 - Updated to PVR addon API v5.1.0 1.1.2 - added support for buffer timeshift calls - added fix for new recordings bug 1.1.1 - Populate Channel UID field on recordings 1.1.0 - Updated to PVR addon API v5.0.0 1.0.2 - Updated to PVR API v4.2.0 1.0.1 - Updated Language files from Transifex 1.0.0 - Initial Kodi Krypton version. 0.6.13 - Updated Language files from Transifex 0.6.12 - Updated Language files from Transifex 0.6.11 - Updated Language files from Transifex v0.6.10 - Updated to GUI API v5.10.0 v0.6.9 - fix for manual timers created from EPG showing as guide based timers v0.6.8 - Updated to PVR API v4.1.0 - Populate IsSeries field on EPG Items - Flag Repeating Guide Based TimerType as requiring a Series EPG item v0.6.7 - Updated to PVR API v4.0.0 v0.6.6 - Fix deletion of Series Timers v0.6.5 - Implement first cut of Series Timer support for Kodi 16 v0.6.4 - Updated to PVR API v3.0.0 v0.6.3 - Updated to PVR API v2.1.0 - Automatically fill in platform and library name v0.6.2 - Debian packaging: fix library install path - Miscellaneous backend fixes v0.6.1 - Updated to PVR API v2.0.0 v0.6.0 - Updated to PVR API v1.9.7 0.5.6 - Updated Language files from Transifex 0.5.5 - Correct android lib name 0.5.4 - Updated to use new libplatform-dev 0.5.3 - Populate new Recording/EPG fields in PVR API v1.9.5 and 1.9.6 0.5.2 - Updated to PVR API v1.9.5 0.5.1 - Updated to PVR API v1.9.4 - Updated to GUI API v5.8.0 0.4.4 - Updated Language files from Transifex 0.4.003 - Revise previous ServerWMC stream stuttering fix 0.4.002 - Updated Language files from Transifex - Minor changes to conform with C++11 0.4.001 - Kodi 15 versions will now be numbered 0.4.* - fix stuttering when using new ServerWMC streams of completed WTV recordings 0.3.111 - Updated Language files from Transifex 0.3.110 - added getBackendHostname function 0.3.109 - tidy up display of PVR data for Kodi (connection string, backend drive space total/used) - add support for accepting HDHR streaming URLs for channels 0.3.108 - Updated Language files from Transifex 0.3.107 - change library name to Kodi 0.3.106 - fixed deadlock when activating the addon on some darwin (osx, ios) runtimes 0.3.105 - Updated Language files from Transifex 0.3.104 - Updated Language files from Transifex 0.3.103 - rename addon in addon.xml file - add support for TriggerEPGUpdate 0.3.102 - populate new subchannel field 0.3.101 - updated to API v1.9.2 0.3.100 - fix to XBMC->Log calls for clang compiler and general consistency - fixed SignalStatus data 0.3.99 - manually trigger recordings refresh after XBMC calls SetPlayedCount 0.3.98 - add Wake On LAN support to wake the ServerWMC backend server - store PlayCount/WatchedStatus of recordings in the backend so it can be shared by all clients 0.3.97 (XBMC 14 Helix) - support receiving notifications from the backend - add notification for new backend version available - version numbering changed to 0.3.X for XBMC 14 "Helix" - send client time to backend and add notification for clock drift warning - provide client name and OS to backend on more non windows platforms 0.2.96 - Improve handling of signal information. Prior to this release, an attacker with network access to the addon could potentially cause the addon to crash. 0.2.95 - display correct duration for active-recordings (gotham only) - Add support for Radio Channels - displays/logs error if it cannot access the Recorded TV folder at startup - better updating of ‘Recordings’ list for all client platforms - can receive gui update triggers from server when checking server status - AddTimer notifications are now info/warning rather than errors - Add workaround to get XBMC skip/seek to behave nicely for Active and Remuxed recordings 0.2.93 - Implements channel groups - Improve handling of connection problems and incorrectly formatted messages 0.2.92 - fixed record/delete series dialog showing occasional blank fields - Supports resume across multiple clients (gotham only) - Receives and parses server version - Signal status can be scanned (note requires enabling in pvr.wmc addon configuration – gotham clients only 0.2.91 - Changed some message strings, added message for instant record - Gotham only: updated pvr interface to xbmc 1.9.0, to work with newest gotham builds 0.2.9 - Fixed skin folder name so xml files no longer need to be placed in xbmc install folder (confluence only) - Gotham only: fixed custom dialogs 0.2.9 - now supports XBMC Gotham - Fixed button navigation in custom dialogs for Confluence skin - Client now posts stream open errors to server - Increase wait interval for streamfile size check - Credential password hidden from log 0.1.8 - Fixed bug that could make client give up on live streams intermittently - Stopped freezing/crashing when live-tv tuner is stolen for a recording - Now knows whether a stream is actively growing - Build number reported to server app 0.1.7 - made StreamSize server queries happen less often - fixed ‘vector’ class connection crashes when socket is not available 0.1.6 - first public release pvr.wmc-2.4.5-Leia/pvr.wmc/icon.png000066400000000000000000002346731354134156400170450ustar00rootroot00000000000000PNG  IHDR pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3- cHRMz%u0`:o_F.IDATx|Vke]kw3seD Mcrl (GR']!!V"A"CbP!8Ni9{߽W?Orڿes'PU0B,=e3s,G~?qoYn  "MI$ i/^MW򹇎䱕Z9Z8ŐȂ,2Rc$%A bZ]˕cCuvlK0 H,Y˻> d{wGarDmK H2@ukoݑ*WWj5{=I(&I˶Hn aq<9vs:vZ# %%$X,z4BmȚ>f&%J-MH 0pU (²q~"V0"T"l PK(`CAjGBہH̺v$e$EִVuTSo M@?1њ'pEv*6 IXSf?v e 00 !}O"@N20[7ѿ{hl0MdJdZ2)MJ^ jqB,m͔IY$]0 Pk'[""H/O&X 2I0E)Z2=࠭Avxv=3~KF\A45*iL[$`@2A"{燮YKKwޚ>0'rcQ754#g/w\]ׯŠV6Ͳ dBҒ*f%Cf`aֽ9 k~oh6ҰB %sᶛ Ŝ8tJVAE yCCL1ͬ,\łYr̮\Ȣ˙bnh[k6Qc Rkg ldG UYBRe+Q.'^.,s Vnۍir*A( .\ V_;d}06p# pU>{WN]7+dQ Ͽ?~実Nv ᭿<{v||neF+u=8zl~;z:z[-۷og6$GzF삅w;o'ۑ5xѱw_-~wFt/=~ՋA0~$j~9AٜO]li;eן8oγn'}qgKs sgrF "BẻpuOOW'b;lyXG`׎p}kp[@T|po/m"% +cՄ1YƠi1`eVm&, &<7\D!0XjAV,$&`Y%Y qnf@X1DcFSD?b ̉ MvVz<[ èRP"PAߠleH!\$6!H(cw{Y]Qa ,Z{{TSASI!  &*Bщ$QjL0Qlb&(XZQPMÖ}cV#3_>CDI!!z L@is>I7>g^?/ Ý/_ !$XG`YJ?`ΗdibmDqF řWnFӦջ-l6+϶UL.F (T&4 h/I=cV ?ʋ?|s ~"<ik@ԧ@6>slVoSo5C("dLIYICNQ2v-z5 A_)WHCI1i20L0?y֬tY/bxC +L?YeN!~ztJ!ZD3;1&:} km~憋kugˡc O&_ nJ/D/>)=V |nxqw̱[Fg'wbK>@'&nL p ٹ-W_vm&E7Ѳd30 ֚:W>V$Xh}cdz7&K~a@vFH' Pe>j/$AU0Q#-VtL 2 19sMQ;;$ y>q({mp^JR$d DHP"SbdD!IHIzoݲd}E+= G \u ː $RfJd H(IuLDX?]:_I;e@E2¶ eTfdYQ Ȉ!edM=}''.Z 3nhF2[u0 %fx-n[<]Zۨwpxfsm^{Ɏlst{D *Z?}eYcqTZ)|.VVI)cِ̄>6"Edt|BxsgR(9@]$ KunsDVv}$$EHL6Ln'9%,ik!cK:يf e=o#I23M}C445⤛EVu^еr>&2%P 23X* 3Z(K2Kc53A"T`( h`4V, Imhڤ-)hbFcL&P`D, 0u?g} 2篛&Z{0.i#J+A97) {6ER/x/Oz]>VѯhZt^믒?[8q?NݲLFɊ!ST#'C$L HL#e`:Dn>yBw)|wӜN85]΅޴:ы[uz$m"F8SCD\E u(Ho3_>c>ɳ>$_dsaEK]#Ή#Th-459ݔrCqJ*N& WgM42jr:D@V",xaߋo|r2=6o=}]y1೯b.~&iWR%dF5FS4 (XY69~~nrh`t0v$TnfH,IbF'"CJLY,=T;w~"'9LAy1+f֡ ; 5~ 8 #LJka1J`Ӟ-tLV?t?]O}LK`F׮/,kOhcL$t. Tkz;Vk7~,,UςY[jFhmv)WrHKοvOw ¡\x\e-hbh Kbp\L3_x+ Vb@qH%ÚFhأ 6RʔIf(F%e|| uk kY>fRh&+5L2!pD$>{Y,!)R D dF?zW@K~ē?K+*\aENJ1VRL,PG5̏|̫Q0- Q-o=NG0k{mƌU&aCQopƉzprРQU_m:6dEspHM>Jd"AdJ5Bf?jBS(3YX4)HBjl D~e~}F :kȆ9 .p מv9H"H UTDMITʊKRMDf)2D"Ś@Vf 53 E&Q_^ǞEoABlYHSѼ SEgZ!HRUOZjGԷɍ 2pLJa>CY5AgBe1~{Yϭskbq80A@Lt*%rۛՔRœ!cstCy pJADB:_eA< g֌O9xĦ+ZZV[a %_ƃLM-o; YN_2+$@I%i*b^@T2C&}Ҙ0ɈJRIѝw5p[yLq)p[馏}CONSBwIQ1~5`(5[}{_u>jLkʽ 3>v?~f}_x[:wÿ?:g,ݽo?rM߼SO\}uۯ-e$7v_w`k>cu3w[Ǔq}[7wO4{nyyJfǚu]77]q7Ѿ$+ڤ>s]kϿaGi?Ȏ\2nzς>+6^p]{K?S8#>09&沴vIc5s?xw?yl~G /'j;D2X#!»Šm -fFFo!DUKʜG2R 5) `1jF >S9@)*BT#j}O87W5&cJ3%M3g:/j)Vl"fRC^i5e]92ɔ; CJA YNCﴹPjg8)ip1)*z7"HKWj͞MvMl9Z@b'4xĴZNG;'UfȔ?M:)K6b6!B杬V`~ljߌ I3@J}fTz<2|[``@c*9@p~FTScfև[6yp F%|m"͌5WJQ=H>9HF$-l;Z9zy/tID%!0ZK._P2,YXRXb}xfQf|2u1+}`vNO ۗI-ϊ$XQb( ib;T^,BY}9tg|}#۾=~Hi+-%QߩڞUJ !ÚK=NDeH_b^;a8sn'0PjޖoI IQ2WRm @&JhX>ٶ6g)4Ux$dI4R;g9dEQ2)>>8ѩoWE0j)K\(KhYp249MX=zȢ [evm!USH, D &2,s\.4IZI^}ad/ݸGfdE=H6VVwV]g7\ݭAw-Ef vl \5j15@%C1d0*|dlV?Р6j>0ʶ(/Ղ̡l;((-kY{={:euo'X S/,NAVp츥C4( o't J{?R]WCg=G{BY y鯚]>HU'<.hP SPk' FF,3f2A265lTc=;2Y-S G]vV yl:XYhȢp{ج/ky> Pˬ;~NzVgҒdHى0:%\>&`9TZ,{Ϧ+w_ӄ+yug`̲CGA1CO=Uxedˢ, kA*=lE1(rE>w5$/uל)3+yif]ag^(.0HVoTJ)",Џ6%ɀʌ7Sc6EYOl~(N'P%n)7Y+'ƕpx 5r4C(*/R'1 /')M ]aG:}Δ e#]($,EA֘e "d^fΰ,.r =IAtn(TƉi#bm9=T=k۷y7i٩?gj9K㴘E*( ϣhMM3EhHNX*0=z] Ci0G7Vi-bGl6=zpK1b]2NJPc~EZ16~)f)n,QgNV+u{~1ˤbu}eXYh1 ̈́ma˵-nI~W ,D@ J bG3ˋ>0Xˇ(D(3*HT4v/ܻ=\t6ue=&n1,J 0gx:YE(yh!̉y S#y'(+NnL3H;,Ղ<=I$4^@ey'5=??uu35#j\^5ISO1 ;6u=7,N d JM`$fd$@f="]پU|^וiO+&ݴp2J,7; V #_1-j]Hzh]H e-\6E Pr2A+z+5t®&+e}[iPZ^[JI&*@vJH>%}̦/7/g +e)x`| Fr9j맚BLlujIO8m4@``1C袼zBV~DOi7XȀh0HLR$c@UD; Ӟ<.zݱŦpFD#5h8QV.9dUZJvC0FH  5Xt.KXHTq_Z'Ӻ+|`;B(@ $l5Xb^%?5Rs"U @Ђ9&K#ROa+I <Ϝv=߿+nW􆍲v|q\^ BMa99#!RP/D*@YPr /䄠HU8TsCypQ.DDPD8 7(qR_0~/<킧ʼnL!F!Iy!Le풛rGRRMZΐM\nCʕp,B/zPpeS]sԻփo a+i&W]rY $C Еz:1, bmLUˀ҉R1(H .y"$?3Vd۞0\sO_Ny1}`_zM IFUV/)]֌I)6o4͠\ƅ`I(w͂Sb኶ Vw.I)r)gko_9W5/꼍sna|\Uy TV/q6eDH,ó*Ed XDCF)&V*UА$%K3ɀ( $DMC?zַ/O|ٗ]Vؿb] 8( e7-MZzM\zǾe&KjAY;hJf:5ңcD,U;Uk\VʿE#q+,sm6_:U?zW=ş\>bkOރ`|/{z8@㨭bB;Crm:럹w^u[?||lřgݸH_}З>k4O׿ßzpo}K~>_9ΏroOo}'ۇz;P7/v6 n~G0܇Dc2Ƹ)nnLVHZ#rW/?/+UgwUkԱ?z_|?߿|:{k%W\w8掷ڠ>0YB HJ`;я~玾@DunEIz#5GgCC1>i] 8+{mwF1?u^JDWY7lz9gp ntqXnşuv.1v>r_y)iR&ݛ$.I V*)E)tb YD8d>uoP9OW|g2ѡ,}wn~k uu+v߿?_zoDC6x{^Oiz_[pb1SwQe]~9TiR} zL3EaKᥛP:K#gFhZ5N>Gi mp[qvuyzκBˊja'/M ŒݚyK"G㵔#8[l+kI0,`QQ,1FD*GkjLfT'P(74[W"-B1)$emYGBqUS hPHݲ6JrJ߼[otLU"T:rl4L4(d|X6! TE*™3ERg9#bK:F]g^G칙uS;@ +rnqeXň_Wf張eX$=cSTaN([2f{gfCOjtłNT SΨU(!hCN%F#=ǔnյm0W,aUS9i7| :V]EiZ -rd &W(JGـ-k@tB$Qciwlh?GGu7.7j*f" :.ƺ\ކ1;RefbĞHY gf25Z@XOgQw `Q@`,.%,Euـ7I]!9K$%؈Hө@E ٹHA^i w<ې b.. +M߼{mWUo̹yܜuC^W `[lڒX1]%JQjA6DTD C9{sn-J{s9`Ae 2 47ǿ/ɬij3,Z~,;;CDp &vm/U__^C{lN9g׍}[+  uFF0Vb~?z?6>/ʩ'Z_xU6w~nXRz;Qؼ qAu:飑F1„\=2uTKASK]I %4n$ܪ!'f Z[,7HPjèABŤ}";#SvLs|˿>֕[~ukrM ̊ %P, /z)24;>AWרbiIԽ \U<%Ʈ 1J֬ hQ.nF$u؆cj;ҧ:c :׹2u<ÇE}qsq(QJ? :NPjPq%L($rp&c2vPbnLBzDsP{1/ԀK5, =B}9jS%#ǒ;zmdX=}ѥز^)x t'df6xqәMŇa8;QϞLb@Z,XS1%iQeBu_6QGgv\[Wr1a @뙠|sMLG/|=^u.<a+ݐ Yo?t̆!{a0U sZ0U{n*:oW% 좍l8B̐xE`IAja"g('R"yTm1T QRe^{v=+V{I4CK Ӟ} ^䎉f hȸK50mPa)[XS[8Ԓ-:W:IRHz Ʌ8RHь-$$eRlm}OV f1Q"$Tf>2У7.3;ho"z%:vu!;;Q 1"&DFW~R،:v3av4(H5{iRwI" .cSWA8*0ɻm'κ'=2 ! L)6ŇvMz،n8N+V2[6-.fD]ce*fոJKv:.[VƯkuQ6|ˋI'jF U2$qSpl}קzAà:L}K]ZFK8)+{*Jՙzs.3i7'W`anelq]!5JG"XcIDUft 9͒KfZ?L&|XOk! ۺ5c4 ˺H'\'wKN drwMb0 21us(Tf>틋S'#rHj^wba.xNwu=}骋C&x{6ca/5X!tHl{,[g9' VP;0UWQo,N*\DhIt\ֈ ZBD/Q1d(FgTuPȥIN8hwӞ_hf:P6S4YgÆ{7{QT,QKۋD.OWm[;0E93n L f/ij.Rk,ᲷδyBYL!jLHq# ;۶VԚFά _2,셁Xk!HYBBbEx? @W4WQ;;o)mLI߮^?̐Q-G-\RZm i.kchQFIt]`f"kL$sJ66Jp+Hf|Ims \'L^9c!law4WaSycK>oGct oppzS!Kgf`GnQl ZJ,3HZɺTZ%cyd&C?y]{>{dKS!( 73b1s=Վ˷ .^d{@xNr%.-sh-D'm0HZd "~H3 DrL Ϗ/|#.έܭ7ˑNjܿO=R4Npg-}u'N# Q<[ig6n͌ C{"(n"Pz,Rtb`# y iX@IAN0\ G}K$Ect~qSl6zfZ{ B 9S3TsV}%$Aʌ,%5 [?EU֏]JcR8 }ۑmc?VdGƔ%Q/ظq}Զ]vw*< ͟LD +XhQ\kjmڧUDc$= RAȞQk bɡqMVDX;;x;iYr bZ`Iv[$R "9W5Y۵cZ:^ >ou9 5 /n*I5Ɖ6ckAC)QE33A2!8j!3$7.`$q~?Otlb&$HĥKGd$ORs0}۶h/ G7".k1.4e8hّ#YaqKfiU渞VZ6bAZ$C&XKn_A2e gu|dۚFz0Ր`EDDr-&Rh|[Qgƿ%W",<{uw+..ճ  a-ƏƠ? 5KW ?Dn1l6Yv-UKuwٻWHN QT{KSrfLr2̜_E 3EpŊJj6\&Vn99Cm" SFUDkHKo ˭ TU(ej25ST xןxW<즙٨a H&Y:M$$jI>u+mMm ^H+/@ZM"B &o-:$ϣP$ MNUi)BȬV3I0¤tkkBHIF,޵M= ݫ:թ <9 'jM8Ihd_vOl]~?\!+hS)uN$$NkmeLfsc+=i_lټ 3|3J*ߎVU1I8f W狦2e_6$X]Aė"$B].BmEZ[FGC T6Wkܵ}'^5P9<}AuaY\}uY{p P`(P179w/rG_9Ww&EL꾲ʇFw\b{ʵLDUDUXS,ޥQGx M>iZn L,>?[ 䄵jP,e!p* R7\tr?I$XD$GKX%$f&"SR>Ya5pw'3}_3=M[Smq~6ansu}P/s |j3~ә{KJYID+3"yQFk6#ԡ&@8s;ceƴ2j[pj[0!sxI;ģ^g6.i5ׁTU.&hҢ 04v6se#K~\?7ܻk_p 'H-qt[`8hІҔ u]mPRJђx$aBtZO W3:$qܾrZJ'kb9B Eת0Up\XlT `OB*5Lq"aBjPxHRvq{+ƀ j4v1^yGoӏyEvw,p  l b$ wDR"cl`59@*Ӽ5bZ)Q!1qAG IZ% +w gqp t1F?Z 5hcqTi \>c!vJVdv ɉ34*%J#gSn>u+n5rFEY9gpdg8ڥ-{On}}T}E_G"^\kFzp sO)@;G) (9R [hNx|a ittQ2W3NIsO&aCu&_ޟdg>zl>ܹ]i@ܲ|h?a:8;VWd `Z7Vzii!P[U.'rcөeU`ѫ鸸%-<4 n6HaL-% @B V;Tup$L<}Wn~Y睶ԍȞn*WR/Ґu%@MhJbGc,ZZEa4_AhƃUfTs R+!5c[-SYY#,Eh3zVM(^PDuzՠ )ID9y'_yE>v:pxFc)H){ :A0! ZcIv@ndߍCU%S5}+\pj X޽P7`C"$,HVe@W[U!P-n^^&t4 5͂2G1C$j8k'+MqM Յb\q,ԍn{~g؁F5h⅂_KE;OH5[FsEm臱]=r.Hnܽm"~ǾN4Ai)6$^dYR}c>qN~umg2Ǧ@ U;CwWcmN8ךKqTE ) |oH' z= O^aMncߝߜ-( Vtk0k=;ʨ}]W];yG!QDWWڬ*Kڜf+ }[q{4̡I(;w%&f%b@\Dq6 tjzr z .'ǪBRm$9JrwgX,tQ0t#i@\+b!Da_܌PBHd qC=K`$}'nPvw~o}nZZѹoFqm7m w]u"Cͅ(t />oڛoWI*2côEE3r"8EYn+˧z.``& ʳoˏmW;$yRkO97Svv! 9J[ p~В%p:4 h*Jʻ^.2IRl'){p7~gt]: RTJ?p7?xd8%[*33:r?>ϼ`sDRiiɌBة]\$ V-^qw-2X1]MAђL'^ 2(I~g!-%+^N|ǶrD|tt93o=%YnSIF']pGrם\}ߠmsݩIy2r h,[(ř}|ݫۏ)Ë'?vtDHb:zbs/ήwM/}e'/wotq VYP='E ;9הrGn] گC>Ϟ=z/|yӏ'Z,׾oO1@L^v\w/ Ϲ]|9l_w۸%n~꬜3&|.6S6+l8Oܾ7^խt/~azO2'Ax~a6s 2bg'[^^>z~s[O?# i̻R!9ITHb ^ ʩA*e&fQ,$&e,zYɀY]bSĹ}P/C^~O~{K_{,*4 s2CV_<7/w}بK]zK^I136. eBtß\N߹Ȝ$8yW޵2y-8jHZ=愫?51p̮֕~y [~S3dT`͊Ludnm'Jܕ*G̤A1nsei wcR9Ozguţbq=hL $oiD/~#~}15 [YW<P: d! Srە?qVA"!g~,\y =tCI sqv͗x͍g֟z抷&/8[9儗v͍9Z4'c)|MHt.F]C#iY)qI'K8m}n<-! Hh6MITf!zuJfDd{?II+LmFPlqsW UA4,'@$$"i4*D& jVffdtR$_6ABtuDHӵCt2dfYR7qH1 %B4q%]D*?L^dqq'̄5$+kx3h0WAIK*'v5 q JYsY6sJ wIPS6tJhߎ)db^X#8TQV`̃0$'ya 5 sc1#@ET՜p1&^\ "wkLExJb5(%.:&KB2;TTx@5V$P!0Uqt8#a pKws Hq DDJXxNgM֤JRG%ijJڂ aLvD8U %9r$vY]CJ9#@!\'R"RģST+0 Yh['PXLCXKBFWEBW"Y[` hZz$2qG&`83i: ZDHX^FJkvPnŀ>IRZ*Z88 z2<,NZ̀^;1΂5DlY249kÄ (AID^$ p_$P 8leG ڰF6n MUb,,UUerZv BA]G[[,3X0RH*E{@ ˿ԕ(P9@ZA@T![ յX#-t+g%1#8S䞚9#hR~Nlsj#)5Ejjmħ&* V1 [L "koq(R<0Z۪ؑ`7-Rh}WB R;㤶F4Zi-afg+)PUmx d2r`$Bj0?0 ȴ&((1b.jl 6zCX1/;+Ycc9*Q@AHBabTeDk^q@D ϟ mیhO1 W}ypqVeTRkXkVYA2k1%), fq4.cQPa&jУQиR.VPY AQRc814%7B#DXQFJ}q=XLC z8ƒbBieW 58#dsuJD#s&je[܀< %BܸXUA: S:vD?UƈY`\@K3*!lSaCœZvlMY~G6-^\b!V9G"5ukW<k5ǵ-8 0crGq.i)i~ӑ !}X徙F" v&+z@6x+7?gۗK_q?jMjɚzӘ4Uorl'gN~_VyڑA&ge(f D,8æd)IW\C:wwD*K |s@eȗdww<{袭SgNo>d{_zӋd9~;}7]&[ɴ!E05G__D{֑']<48Q5Oں`?e]N+,u'Hfn{ҭp_Ύeܐ{ɇC[;J3m@fy@4F9Yk[)mCx=2&'rV޲d3tk\^N\]_9ˮ|Wj.nD(7fV֌nF[8Ar8^2+> JJ(.rGRpٯo j_`79fM{t %z{#: .CW9(UԦ'Հ6M>J1TEӤ b?H**3#).=OZi)$%ElOQl%)2A )o; C\ /ٙy3{~o*HqGϜZb6צl2U5b9hҴJajSA+5j^. *ŭi\MF7#DjhD(bQ3w]2'J| >+FEB? X,[P 4M]u\Us>3S)#F44jsqbq;"j`T@4#s 13SX>S#_p|.89~rp/*JKMh>T m ؞7` <b []+rξ( Ie6wFйkɍԬ#R3ˣǏhů;y\PsOڌ4C3L/O歯@Omҫ̸ycPV.d!t*OrFo"I%kiy8A{x6LqiW ùs~+bNe(ti|RNK[Z0}ݖO!fC.d+8QfHɅ[`#VQ_ݻAnApt~ع}LROYU12M(PU51Wb@O(!3/&|0+1Хx[PH sk ڶ;?#iYى>N+O&wxQ) M#Aͥ`Jc4 ȁ6o0m::0%(-\])3VT"!88v88Gw k,YLcvS^qlpxu=31T tvS:p=pz :AյskO(% >0Fn]oӽfC9z,ٚ/藯/L38`f! ^zrͶPj:67%eXs* ]7oKōD7OhV2fĐ%V德:*Nz-r81RK.c Jm5&ۛ06LkXi47/p0VcȂ^,jtk7jvv:*K!碗\{EJ$Ҏpak,Umԋ^inMmO$tt%i_ OO$XRdMA511KF / Nf/ ,-> e [$MosC i-TspsΙ -x1! ޒlkεDB|v OYC9q|WW/c3[0c&:6*硢@G-]43&R 5C]bWX )lQg7(M3v(&)=Y1^lj55GI؊c چ/(~01T=F)1sGK#*F#&6\VbAq7GNMfmTb!V2B_`qnb8) ܅,Ice!Ba2+Ζ)U D T$JABhBC,2Mj)ZϞk 5%KV^F"ؒ!h"1TL\hUђuʶ1V.`(G>21m+̴K PU ;,r| {V7%gy[)yf\ivW#ӥk$R0=GnR3)ʹE@O Ozg U; K_A+8T}وMC܁/O)lucܳۢո mU8?JT`u [>b #(5qD\:d=ڣ`(s)6aył"p:TdQ 21a|V(U%I@ -@?4ыp[ȕU?w;$}{+9_k50+|pߪv_8`/("B|Ü=SgD{G5ɞa@$ V:ԼF6.O\ <ȝ7#QbҠsp_w+*!eCMI`29!/MTP8\Txr( 9U'Yn 21&\%s!A)sF<Ȯ8p01/@H>!ݚq,*rñ1| pVpL%ߎ ݞ/gߗ{P9ƝK3S| ;<%%@k{HVfwqGcsԻ0ռ"PymV零ju4qܯ.hmΜ'wF?DþV/KS7d\]0ϩ5W_yJ:(ѣjA8(?({GqaV=$:`1?/AJVHrAS؛pEf4:ip@wr+x 2Cg>;TVw7q6mHZk+a4'd<: qIJ:~4#I nzx\I%D^9{6*GւJDyhDeGb,z4tZ7|# `L@9oqxR!>fzHmL_-d"H,&1)*nD4qOO:H[&"k[,͂U  GЦ|O?r"bR]'bi+F& };-yhpL_ 1ɐP!D}>bfdDr'O 9Xe0ߟ2.px|Ļ?MН:@EE1GȬIr.=9ܜ1""\sCԺ2>S6 &=} pLt-|{]A7ZrC֔9iO&1OWU |"W:6[U zͼLyВ:P9Zusww7jרV,>w߯~7>sr\NeC?-L2T/7c)-hgFGvZL?l=  # /ckFYmhlVHNJjf%Yg#T&!|bޟ/>0oq ]" kͧ%[`QԗL{/G/}<,~jwM.A~yvg=eE Qn52=ƐRW@1yݏ[D6,(˻m~BD#XeA¨?e'pmi/%l^BEv^]u=Û qǪկQa>K+<2?[p0fMҲѵ3f̩t^SA` Ű6ܺ֋_p )v29L]<q\y `麵8nF,>&BW0CY^ȹ W3x̹$R+ ,h-a+MsOs6;&=6:㩳m&h=@[?σf56fCASm[vG %dQgȪbE#Cܔu.삥Pf9Zr".L )T[G>5x ׍t8ԥdNS $X̼ښ^lՄdM b$F?זh]dMY#%E)5D2k}U[TWZ(ў#JF%Ā:zydt8ʢ*ǷxbW /]2%ջ_J+? UO% /DJL h ul5=%D@P%޽ D J(VKd%,nL0( 0谘v}"9hUWVecAQQQP{P6,ŎT6 &ccfc|y6AoCW\vFL{73jJO4z)DT.erPّ?TS1h5/N,!%m1Yf.Mfz grH/s^ow~͟}9#:L@ >]FAQ8UJ+l,*Z~ 4G;Z~vF+FQzMG- / &=+8K4GF^S"3V yJ[CXcH]{jq)0_3]@t:\N_.kn}աőYVJ1+DH+J;ZꃚPċ3Aft 83FrLhDӂq*֜Tm eIpZokƲoȭ=*HP.'gҷ$ޛ2iE@@-c(/gؑ,%4I;0;\sd"Ç*yX( =|[y![׬ej#&635Lm229 (Xc"6Ķ`P⇅ A؈_Tn. %yGҮ͉+!QMj֠q4;%f: yWm'JO1;X<~a){ nw-X( hssdMMCwS{HFG^R&̞9B$!1*, `SAll 6 `A/1& 9 iSs(sTyF(0{Fh{Y@t.%l(߃aQ3/AJ"p-;ʹ>rⶶ==sӱ&itkwc33W\=TH0i$uv|C,%a( (E^P,9KCJϰH@$|x\f!E?Φõ9y{V+rHS/'N]su M-)|΀EY\K7+L13b hHO 3" BBA!E(J/pCox T<>p.Fci3[!mO%)}A1 {r b|rj]'8^4^e7|Pv' h{0w*̍Yo s/6HNIhSB,ȅBWLlaKbΎ}沞9sCj%dOXF/܌7nT+"Ufx/ >#Ù=^}ְoC8ktYI͙G\%-Pmhk|{zl8!RP X>OsWD`*j2&9$0C1(kßY._9WŅ^fuE6R]Q1ZAXo~T{xr8*RdjcZX+kA)e4Şu$#`3r9~%[wZQ܍2j!0uc&KB 4W½K!Jyo̜>qnc?8cVQ)C 8 r(V/U8Y .,&d.6SZV^~I@k'h.(fs BXq4"0~+_56w"%On1A e8,kF:>1<"d3՗fXclE|a:o*msX9ri 0HA˜EJ0T=z$px`Er3-R(mTQluLR o** 5/ ԌRǙ2AZmn@E2z%ѶnJP>zAdkIF6,Ȝ.S=ЕxYcd@]zb?\iT\9WPy4ǟ''՝;Ͼ8557x?ou?{62GS1"5tkcXLB*of{&ocu$$ +.ugpFD`󊊝%HUij ػCl&P\-5Ebhq3+h=Ϻen. T1z5̍nOvܸsh4>*$#dٺ`kO8~ ᨠ2 $#(cxÐ9]Kg-݌=#d@N&BtϺ邍cS2`|ln 5;3_@ Eb1e7pPozc@frGxk8xّ^|M3.CqHr\>5!^YBfw?",ҙbrG62K 8 EN~EXICȥY~mr5l?s-͔!-@0XvZ?GJwP*)[_#&b~iʎ8$ѓU`9I/R4IgtРgFE0g%`Q̳[;$RjBT샹dZD@OhϐYQҔkL'Y^|c4 h^٪UM TL`]rN zW fkH@C^]܇I/;yэӻ)e/xO.apb^:`ߖp~5 s9Q(٪*c~V52c)[)$Ĭߞnk:] I2j^ -(sO Jf>`pi&ꩫ5yw=>V/sgll pQL0< %C QLG1%:9G/7~KT=7AAVKa{<; A>| qɔB8*f[t8aIb;Y{ǩ[K߳jˣv Tⓟ'O'Ol'R `&R" c^kId =BĞ_ڷϮ͜n?kABFܬzT&lkЙwlX;B:ѝű{_wM,.>vrOBđ>mʰ68ϐ(R6oZ ,j>/.b 3%9ds|H;"!}̤A"T0[M`.|-TlzJ[oHsU nI}gmw|ҋ88yb#N}pD ,")F nx$eχKH2k'_P,uXfn)&&idY"]wsduA7t9HRE_:}6w@d(ԎP/vy#+6G^y5[>V48[S&qB{ ;X<+6Gټk~=hFuW>X%eƀGK<ċ%~˳/X0qZhf]T^fQX,ht髪mk5}\qZǎoUǮެgvS@V ^yQͲ֫HپuPHΐDu_~VreҴ'Z1fRP{-%JԒ޹Y`*\a82;Y]~s-H_Y<{ng{ؾ؅ۋ.;29ՋJa-Y-Lq۳e%/7|bX[iXgHBbweƬGΫtbF;c6@cMS[F@ex^#=qFJ9(k "]߷OqǷC\x|WKvwmW+R"""S`Ћa/7! RER㳗2wA='ĸ #73+ a(:&<;J,H<)=Uڈ^+gAkd6^/FkI#-8pL^$s^s_9|c==csÅGC>m81Q46&OF伉EÉ.V1b^L Tf>Vs{9LTjb95 5/ˑp\y 6>!<Owub_{>1 ɍW `vGِE:7qXTÿgD7 _/{!⥲5º;MkY1Km^IĥwPTtogݚ}K! I[59s_7sK?D)0Ujm.wY׋W*on7 "!oS W^~ÇK)clscxΝŹ}a ̬Rӡ>+?z_}oo8RDlB4A$ZMJUmТpT@7HTqiC}p inh|֋?43&d$0\~6!hc~`hU`0֗~Q`qPn>qޯ*ËuiM*e>t^&u{/zC xӏ1?~G7m|^hӻ?Ss5 [twS\s}}m>swFQeRw7E2QW)P67THAT;&9q tW|xlu{0:jyЅz}np(GLmtIo&.7}쏼ۡu%?|ڸ [$wJaY &C:JT3c*h~ۯy37l,ϾWѳ>vN]8[lE [G˱.ǥ.>P&ԗ j{ª5t,P^[.' ?۵R5C;|w~9ɏ~'4+;g?K/:Gnˤ֗_C+O˿?7/4Tש?=»+f #\A6XR&0-TqJEH;f'U[[I'Oo^qm_ŕʇ@{ll?#cOԋ T1og,ڴGNhjeQdB)[tX/w$I*ӧ.|ISȅ'/>}ѥ7v56ǓI(G^Cg?xԙk_U4[~۔}.b7{mOdÚ_/߼Ǿ_E}??__4~+n?` }Y1m }xZkԿCu‚/ҔVC}du_ xRKvuŵް'jP,tB I)eŶIy hD1zhB';t|ZťZ=w$uzw?xɓN{ۿj͍6z3/}νosڷv׿:Nz'{ڷhc[|[^+G_x;=WP UiWۧA^kI}3vnCkdw qL8n}Uڼ-{z.!CZQ.I Cza U4͒Xgfl&l0UW5oqN7ӛs=Zi1KF9Q{*_P>}ɜyx bM&Bȗt?|_2OՊak^~Omc{~V=?tm@s"Dz +V }DA]UXs _ίXl_i6zH-n2}[ZK3  Zg u)U(upV$k|4# ]5m7 E哲FSY7V|ox{>kW(GYCes:'>wꉟ?VĽo9-⫢_4PӢQ 7oݸ S|U[ϝ+i!Z"B(u:K:#կxt+rtdWeۍV: KoTWK7E'inN Y)3|b͖5\jm/* ^NzbHw48>uw~ŷ7}+w_g"l+\Ms2eۯG7_p~M/} FO Ba5w{b8UwNᅠ^tx~E]vsBbnFA`{§ybV&jjfN!`5hE5"chb,xݵo{]|8lH4ڊi{U up L6^(/o6'g2EX!pn%lpq_e /3RJ-_~UrQB2JYhݥޯ\&>Q@14|1r+Vx'#>)sc4MX}tu_U[3o呐-}OM[kff}2:̚Zk͚7Y܄)6C$bqnwW?)|~C; hWbz}?n O9\(eHa|s{׳o^w?kPPl0LP{Й_ba9$K~|g?1OZx7ànd)f?XjJz5]YS`cɡѯ۹g֮N&:~g]~?y?~&0׿7_?}93P7 RhNp 8mo7/>VW㡲T|qĴ:lfuv!XMRJOՖ جoݴ794Bݵ9ͥltp3[g-/eSjjs(u Q{j Y>I|@C9cPWնOot*^x q%&R(N J0ʲ9[F bRͼLfjbHj2ʀ:Ko-ɐdmrB $47fH})*\)W%@R8TE)R99a%,µ#XCSUK{sOEKZ)F<*@ucX (1"[.4K_lL?ӞԹ Hk,P<T~@"ݛE\R`4:XXJLnF%rE 9 XaN.Z4r< td^|6E7 3 TMFC^'5X-"[it/1f,y@bKX9{-7bF)\r . kA^Sh!I8(s&Ny i(3q]K:-ݵ]nPϧ pW# Bk 逊Y+$Yt"f49J-..vwM|zC#(컘$;ZQƁ /^H}jb7WB4- QB6՚zP1.-A:0nV նZaqKPe2DR)0Wa5""pNF&n@Y6iHe pe"# eJ"t/хgj iny\\%\Li'5j={5ɖ֏ ߇zj6"UA-ti]6Mu%y*Tlavg鰌~QZz*o~Uw"ee[Xb<3SJ'_KD,d@[ĨƍK_,bpFb}W@ۅ&!w!YٍR(2oG)o0-ϗW1C' Y1fzOf⎃[i ` )E-ms#(-VΫtFf(Hc U޺x]nfQ-L%k"cÃj {qxR悆nFwIYCG14D#Nz$[CbFX&H} !JW zLr2PG!=ϳ2'nYZgz zn :AiAEX|y $6c*%C1#+(t:̭e|C#P&=̌%"0hq0;l&䭺i֑I塏|u~N^m(!k )\`s&׳2Ǿ%;CH5 &-N"C$DtCgg[8 cf'K}CfJgq"ewЎX;$a*]NqPXGޟ^uoy=R y@B5 " ` j״('bۢ@ J7-#AS&ȜJ*UIUg{sX뾟Tڤu=[AN~.r,v[؂"y3|V2x}pX޶әvǻXSesoX([oyÒ8YD,_En%u-r;=soZk9g=5>sB)s}L ftV3643Q#WmCtBo ϊdNt I]eq_IB8i̋#q8KOr^ TѶR,2kINbۢ8ӾU䘠8?f.9ی΁7xֲK1gyB-m{iOVH%s};fsG'.۩>G+5a%|޳Nߊ#82Mѵ]ՍAnJ`F^X58WmfK037JsdmiJ|x_C+!ivqOfNl'l<\4itzx0lbS=J-zѢ,"zn}S˙,-Yn2}QV~l <302&AcK^ԺLSGҹ2dswatR-CAГ{crbEA ͂u[3X>eh-0B:MZi4'߯I.3"ˤav_%){FA6 F΅Jhp %R' .MuE4µ~%ޱϹOkվti%Kjv,3 3zwߘӢ5ҟҧO:ls\U^yc'N-b6ʼV?lvP̄6Xi# qT58(+aTy}rqx sſ-H}cTRsV fozYNH}kćގ '9+Oyk@3A++rrb2gOMi~J H.y&8at`{Vza`Ӌ+b"K4@dZg\Z =XxB f4EpitG \ñlљ-И(w*=ty`MUԁ.6<`G];u+n{6A!kŅג(0}G9ăϨf/NNYOD3;e:MQݭy~j欓Yx7jjcF&#ĴC!`mDǂ1#ui*xh՚l҆5LNCW 6"'WXy4QYF5M~r-BTfk4Ԕ4LN.rh!QQIO:~ڥ2Nh=UA0^^_|cX3sw&C7 uW@tQ`ݬ+=X}($>gW'4f[{xBz QDk=\;3ǤzB *6!\#l6U3C]]`'aiSH1dM̴YE$pc]qq i"ky`^X2Ͻ괷;:uj훧]j1\^xy:sx@XJ &(>vɋZi T8or(r0TY[OK|R-% A%mG R(.-Rzt fyVĢO&Ѕ`se9h6G]Ks9H 'C7o#kwi9_,GL ZRF6f~/~+vœ LT.j2hOr'ݡ:N?k\GF( Ԕa']~HjjQHL072F^5ܥejCE5܋>o!z AkdEA&Jjiҧˢ&31x &hZtRK]公~BV/xH@*QKB0]DqofPb ?4GI_Ch0D ^H{=N%ZI)ֵ6͌&SM̌ZdhѻC+}n" oIH1Se1b'A$6_"$K (.\pڄS{e%Es8+ u8T!Zv+*n"tXen5oVn4:94e ލ7Uw0&K!;3~ >2qlέvd]#<77cɅI%O ;ElFtc3E~(03S!]8nnݍwJ-;qwQ\O xș[ݠ)ΜAN4g} 2&UJ;fgkQiPډ[آI Yk[}1"f ݯ?㒝<;vV2$-DpH)tjN_Vް3>U/o*޺wK)!4BDD ,vӣy 3RNqQ'dpBCZ'd,Sbp:YƿXizИ:NFсd]4L%Me\zyܮK"*gD+eam$xqR{چQDi-}AD&QTThq{f̣\nOr!aDm$K_s"D>_Xquez9n>wZ ]j1%EtS'W1d 34xu3uҌՄ>#lE2xq`=?BڈGڨ?bӖ]zWwg"bj3/@|Ȣn밼@8<%lS%u4^oE5uzit[q@JmH&`#CKn4MUPʻn Ƃ|uOeJY[Ö s:I7u]jD_ /jeZLc$+bVǮ́ә&ʌ>ƦcHl[$87,?1LCm$@Lpa$[vtҪ v*d\XH7If?6(^OeڞBԂ;uXczdkwͧn>sՂcm#%qU,}:erڄ)->bt:*=7XO0[Ȟin A8\!.NP_btJg(HmnT-<h f'F&y`X!]"Oʮ]Iv^@;E[ ;'.ZD@9l0[O7iwص:I"Hԝ Zw6VQ Fg/|v)O%i iWRh4iRTfQbUonC<49Kfz9 EH3٬ῠgK/v ֌ŝ"fQ׈&d]f9H7](R)Ew&NeH?n3vuf\dd2 ZQak:h6y!d?tlD(^§L;~e#Ov~ a(a 2q ʢ"gUgK9H(g)]R,9 Wܺ| Fc3U.ic Y|jQM4mEp͈"'uVZ6jZVΝWCZT6 qw2W 0&s\ ϓl`f"2:-)a룇&^d{/;"{3Ol eޚ \;3а[:Qct[;`62i'in"ܵ%De <b  hs 3Se)n:lSFx&\PKsԕs!*͍kfREuqrSS'v8Q2gKȯ@Ɠ{^ wh'?kN|5";M-YI d@8hc?kx=?fTDn M]uͷFZnxt^Ҩg9ļpw {\qR&󱸵K-L(H9C,!ZQXA33raa!:;Edz'N/UZf姦8-Ɉ @*^܍E w1$?1w4[eAD E) ;WZaƩ܄e=/Y"r*ZE7ZFwϙo33aj-%/V>mFt. brdօ97P61BwrIVeDpBN]%d}'H`~$^G t _vE8}-{RO2VUOmNyx72 QvSE HXt2q[h5Vlr@ ׎97C5OźB8H+Q0jY/ݢG#ǡe 9&A!;zJrEȍ--"ٖnuҝ%ZAY nڕWP(2;dEq 6|6z>A'-qbw-L/oNᓈ*2=5|$B6rpAĭVl*С9-):P̋Ȁ2wUaql \T7B ?}Y,tU'/;<7BpG)+A/(* a`84Z{uv\DY7RG"ΕZdZprŧyNQ%_)wr9K2tT<> Ab83Pd#'8]+o4t(+7X9w`l&6_-t_by٦jے"Y R)"p(&DĞ)4UO +Ǧ<[?6"P##dG;`cQPDiU/2l[EDg E EB צ$\}׌xwKtBĠYGYUB][Bˮ=F$?՞ b1Ѕ[bvҌ}IM 9ՊywZ[!D\ HA&y:Mm){{'Yq<5BQp(ɖ^ :(~;ÛLqӖ)XeKɄHa T\SΟc WL1V1nܨO*HsҬȻGՔ>gnt1ϯuO>CW.4*J!RJ(h]z>{*3g/LE)!o@p^m hAi28gdj;ΨU,H'~=.Y@=ʼn :Dz03Af'Rmjjr-wp3 Df6pggq,itt-@ƅ{ UϦ&piZ<0!vhT*q&++>)%K.g(kltiOiKhŶ*I8}yٳwDd.]J\i1E@ b\R2/ ]ԮIjJoY~q? T88TD'MfãT&r-o9""0WUTU8gZCEW->l{/Ē-2vLµ\?j\6\1\uT8kq 7@=x>c3^e . &st( ΟnKFTg_maeиs`ؠm:pͽAc7HPJ L+C-^DJ4X[3\;[7gfrAT;vxuP5_2$A+]m6JٙvϹ]*ZK-J zcd?~vS A#LdِtKS\@UP F /)*TDpkEG -)UTH4nP| to Tof 4& |yk43ph yg+A@XX3 xM39ZJz5(F?ec !E bnoy~xDL`Aӌ=-)ՊҊ'<%Ӂ68:@B'~! CoxjT0K#tS'Xd"J삹\bpM v" M6: %.A4"yFč']TO=)C1 ;W|pSV9l-k+׍}q X,ԶbD\>YNO H `d}!PW ٠:@ I-_8;7+>V:(TF$6 LYΙ<)( oaӍ{)}'gq$E"Z%b+ydڌհJ()0]~l4qG4za.w#<jPm6R{+TB={ristm°e'#P9v$EuBy;J/U0f K>= JO*U]Mfx_2%k{tRr'Bu$diuK#}H⑒RJTEm*lwEQQzeJOl)-A2쥅[⋧SGO ):O^|+O@YEa(=7HƔ(ePuP"Cl6O?/syX1H02HI|;{דue6ҼnL׵lBe<ey{EۑZnQ}?lquЪ/2[1+d)lq-FUL*"*CmjX)m78ĵ@{uJBD` QbYZXy-mfhhpDR)x<"2hhCU ďxM5>MMGTUS@eԋo<7|OOpbc:Bj9ų_?tf8BlP7M}M?6?E~r٣怌LV 8]) e.鑟r׶98з ,f.&EZKHUqOV[DQUy 5B4i"i!dqfŤ 9Vge8)Ό: QÇ__)kG=g?9dP 5.yӊO-!!1}~3V8M}>dzU$K|>NyMw߂۾/=\{~άEw]+Ui/>mW+;9x U}ga֩ ?w`WqKW.^\LCn;^ygN0۸yǏ-vs椋(RDL@Jԡ2)7UORiP,Sܺ?mMH7 qL⍭H:+Ή"2Hτ4ihֲ )DƴQP_XJ)eRP4&JuK!vݝagV<\(S e^@Z;|ҬȋG~40x sc4enMo,,XEOc7l'J)3McKcnhd|i1.e , rkb wTЍdX}A[>!Fou.T=CYį׆+FPڬgC9^f]̼IIjJ̼#Wֵ8'ⳍ2(Aocݶ…M0GwgׂX|&事Z@ZN&m!}-v*QLvu g6sZR$eSu̚@ -&<|^8J&b:"yza11~_D *JM/)'eH v\ 1>Muljk$g)1zx-zShvkm@"dJ7)tQ*#ĈJ.lCHyu2nE86\~ 嫄)TM8*jb0O\j1^tC/使.XvUDPb+PCE}wF 2|~7cZ$n 0Zϕm roݐA# \[ ]A=_CIGST%XYidîê Ej$^R JҺ@xrZQODt9raDGhtpwgSlb`CSZHب:[q?hLkol"IVafILZNdw+A(Q1 eJ0y ?Kġ$-㓤"RIS-7mwB%[@e .y`.%1*6mn%eӼ=~z.()5S1OrGDee }V24wa%৅\SǠp͗ I-?|aByxK]xUtUCIv=,h39E +4E)etb J!+]`M R_hxZwQWbrniҎ4;&}h{%sԔ-9SH;[ m[@&ӽa7CHhIcsjJf(ظ.\I8̑ZZ&;P>S'I }|Sc߯L}L?\!}s}N/,#Y,Dܥ,$b*&|˵}[/z '#mdrT@&PàPRI<;dzQ}2e=V0Y A&L#=r|"Q`.N q1 e)PJ16jMm XiZ/\ֆ d0l1>*Bd uWz>^:>D}swOٻyNHf 2e'-ݧAn~1ՙo +gf7#q|Nh:0D@RTx=&z!>*qCznYHׂdDgƬ4H6`y~:gR/޴SPdX;zWLgw||Χ}N9W\áI`GONa"WK!kDGܒQˆTQ 崢ZVEvG3 ݨU#DuB1Zܗ 66xg<%D y..^s/('n󝓿uC,aQcsp| :œQ R;X棤J^z|} `sahxyuJղ=%7l9WȌA[&1RO}l$̬u-l r5UzC۳5,^b PFME^&R4s8j ? 7 6,t> f$39טT9*huS~\0AswcLԲ;ݸ%ݼbSƽQWWʁX "RDj)mSH_r2]uq6:k .LJd3Loԛl-][/F3߽M}MZOl%wl4T٭m,7pl1;r@YxBAC3s.Z;)rȫ3iAL̽X}$'3G >э@j7OtXUT禲N46Ol!.mb9=_(R$;"j1D5.k 4uHm/LQ a5 ad8Pttw{Q"} At oI#wMp4Se좠r=tYsjR{`b /Jf$f⢜a˵r7 8N̸ uq8X ۧT-)~xө[uBL̴b6ÌռnùH*4VZV1֍MEլfr,4 (CGsqAüNQÓ,4` ͤTҝFhP"#%[];+^ycZl5̥=z{ a#Q"94LsZE*+6NE5p5ӝ"& sXn RM CHal Fdv8z+11){/J9 А U-:M qn5rmuxH#"׎UˢWEPr^ -)jI2A7,á,_=\cXK6Yz"8 xH5᭒MCsɟB:!+N¹{v{? qwF@J:Us-LP F(5KDH"Lvzs 'D7^&!D+3UZQͰzU ,J#tUv V"ʕbWdGG /W+EO?N`U0pPJa`$WՀe'vb) qx6qR,AqI+ = sZt~YIe74BWwZ`Z({[hNr]g+u`zB7 ,qA߉}k2 6notuiE}W4ݽʝ;x{֝w2|w'u,~e0($H?Q|V՚,&R"ݫ`aiPD@( 0PpPJFŎ`E(vvppGBDƢUQSSC}W2HN]XZG*:9*hbc%91)3m*8yS^4$+:6[W󥄨[e7,Ÿӽc T{'.3cHsh?yNn0O`\x?ޛN3d]7Urv6J &H-^nN<"4KE )FC96$8T}qX[hwoE0B@EF"Ȩ21cjq;;;;}-/sL&F]#9cY -v"~'%?E,H}A!s,ʁWm~\<p ERGJ6_C/#c\M bEyx{yUzCaU~衏\\_;køZ 6`"AަB@D%BAђ@†E! \x[7qi-˝@hBmMu ) XNaK>=N uTd` ˿ T<>e[ԵXawд]Kyy|spAOޭUlC3+2G8e[ 晦Y^ҶͳJ)򽴫>jQw;-,S8CȀJ^hK{ke"g?r-N6ݝ7#1ZsPK𺢆>lr%%2CCy+ ̲X. Y!8Re Z,[ɜIjmCPH Qt5NሲvXdc hI"ȝQKqЩmkvz{t,<6nq桬 x9\ ,!Ni t+ms)}K_FqM@4 3oR3;\%GC9 aw[*BUKp9z#|=W(J)/ƫ&g!3U5{f͝7gP ,#>#IF_e뤮!hg2,ceeUV5[ SYXe X#j X5›W#N'/eWŐhblT,I0\-Yהt88\"Odx}gu^7JDT2[(Ԑ!yK B9\50oҌ2A5rVߌ Ha*D:'BP AxleBz@nD}eؑ^+KQŵ#Mz'^! IDEфl`q=1az5H/p^ D.t fty黎m?cn;RUXNDA͞Mwc ա'5r6-vBedmhHx*UO=}EWGw0>ۋʸlXN"ԢZƇ?wHwio|]Ν;dݝhc#Cnj>D_ P- ):Ȝ)h۝jڀmZ0 J] \>`'&̞"R5OmOv.&d,əTcx(Cu ` )!fb+]RO9/je[N(VΝuOwmZO U-'hq&&O!K'rhA)Z=vڷ2CY/nimFT(oylFPh3I'Z^Nv8SD:OfD.pdr4YH TAEw 4LauaTјَ4G` ATO)0BN_bRYɩS%æ.Ǽgl17,d)m$W@pV>p{}}o=Yvv'MOtQDll 8+Rń=dX")ڋd;ˎۤ$^vQ4RwuZ{PnKd7txa]-}V,KbO!bɥ*[ŸZe )hf}t=v]tb3K@S.]mAr׫لnqM/7IjDh!B;nsn3>no,U0IlL ]{`Sȃ{?;n9yH=:}blm;PV}!'GR U Ơ%y Wv#U3rZ$RDmCޢ,0S#gԙjl %e_#ʶOSaΧ_~<)a y&c tϖ&; Ie;$>;7iD="ƭXANus N뀄dZ{NDΥ"hY(FL.?[?9#V3Oa+w'wOYvO;yV(P YK@|&MB6g8Ozghkع7qʌQrC`:cT:Ac ~*R{|:IeE_zy5t==f~)3@d1ٰXx=tA?lU5OYP=q%{bfϾչ]üW;0]CiK(d QďyMmL9 Y0((j׈KCwEm 1m\EYz$d2zds˩ Oeoؽe=ݟ6ժh.Js 3YrU2 cMr[U{) ţJ#E!`K H7+_:~iURuO, 0lbA 3eyPx wo3]Z_ J8`܅ytS )ƣ9!EfN+/T^ĝ`e.[i3oUfηbFh Jwe_cA/x6st:ZCO}7F[eE=wٽ3jja@rree&sA3P"aWdT=2{v5ےSDf6Q 0h@ʹf(ݼiim  bZxE:k[SFٚ̆"kO Q,[R]Y5laWn+1s^ʷ-W7rwZmRRnicVcHzd(<){UFwpsMxK^yb$ ittO:n)xӴ'kF!.vc %a&VYu -.g6."g6UlQh?ʸXB?,ӺFuCMͻ~z,7Wbq~ʗR1'wӓli̒Egw7Ƴ <(OMhQSĚ3x A(U"\Oh_c\o&S ;y?'\ç.]}ЏZ7!&-ŝjp1b[l1c; ?8hjX n.y-䬳kv%u9&~9?P@̊^)% -e7HR{C"SIz{S4/(21n,'evȐ#n gzn0.1 u̯O2!#P R7Q 5*J@E3ne/|ٙݳ86 >|ǯ>AU9tX$́)>nA5BS4zz>ZqSt<.C|V%w] *g M"%>R_.L"5ZCn=x8̍>ώ}e7{^Os;L,h.<kBɥ, Ls^%Zɐ/_.nF]\В! g/1%1HEm"zݘX,=%9РVExm7{܆g񒻟'fr->z顧>~ڡ\j0u$=k{ d׺1Tww4k~LR E,{nvir%N.kQrN<0]x@Q_1>/tRNYi '9]wo;#h:y<:`ِsYG7RS 5*y[כs瘳R#yminTr}uN]ǒ&;>cB,~dwgVf/{w`+i*U'hC-Y"hob^Yco8h\0p"3Wb3`к(m}͸ID—ghbYPsT٥V9{1o N<#Z/zzmk+i.Eh )ݠrlC-K4:U2_S+B4gh"ۇuL2 n\ǖo`!u{vNTn{gq||BT6O]{+ڄ) lcn"tS7z`7 S$a <ʧפ,[foЈYœ.s3eN\ =.=ճOIu˺('\U@}loh.u-Fޛ̘Itmt&St~3•'4O;N񅷗}fC}䷼ClFlFaא}U}RJ@Zu;wYEo ;ex]/|wzmcuchG|$^MM@Nbbc3@Qe%r:lL+LCDοpr.2nHw:](B-b0~'a[Fn/ym|)#jC==o6p[vElKp8֛ݶ1Zek7B3N1܉ <%"gVeqX亖I\zUZ1-pN;?zmTs-.|sԹim>wؤËO\|+3:I7R,f ƹ# < o5g#;Z M] sC@vc@MFjkᵵ H^ 1VoxWX6!dq"0sNx>\2PɊ(&O?[@B@+OΞZM델W11]O\}+O*i݈E36MkJq6u88V/ g淍f1UUzYthk2 j,wvh -.7z Mou=P5̃A珵ryMz*-I:l- i2g6+<&87&% "&R6:I6|;#Q)8.*}N?8w0A\O:uo>sng1jDĀrcjāC}B<y½OP#`C\@㜓4#1(%1J'RE5em龰׫ڌYiE8ow>޺Qιuq5jg0skvnY7W\0@WeLM)iL 7"W,(NТ"e@eOMu|Q끫*S*Q %}+"H BQDh2v\DPK 'n{ܝH+e5gϟpۅB?SJ벹jWv+O\]_l^0a04v2]=cStVίgPu'ڴ΅ZPZMfHEgZ@q8?dw?zc0v\K @u@˖yute'1TKg@{J xxPUGqUݴT js*åIRTP V@18inquLB9Bװ1qPKh lа2T͇" vХpԨe Bq-y;7="괡if:ȰsΞ928&1_O (\^:xSW6Wl p/lPpX/!O<)tks >!l>ۈHAk?^~k^IP'|{X4G#E)E\?%|Ny>mQ6Q3%h}%/L^(tb"}(a`}}@r_O:? ѸWx{0AL&"eoVygwܵ{ N7?p[<(xW:#PF=oSq3* V .+;/ѲI`D…p7Ry~HQQCDA1A'SxdUv]Z ?}S'W20,58ZЏ./>upٺE*(ݒwY 3#J8Tauõ?OK_"}K>+u_gyO}ݷgOw pVDִ1tA9!KFϱE̎!~СQES NVb^5,`ې)ᅳŨ5q3G,U2 Y*6,F)pW-5\RVJüjZ{)0k Z}+]I)u8uE~"b"(RPA MfeqMe] 5e]W(^L}u6w\}/UU|ѐ;\xRBnzd+w G+\6& Vqx.\Ƀ>vKȩ^l.??jwgwowY:Yݎ=W}ttҕ͕zxm*E!9ۀ@_7_LQw R*DߑⅨZ T1]X Exn9'(j6GX+ċy+\%*\A'D0{Saw-p- Q֩VF52u`!\ LLeܪj FfnJ'W}@gM!|0:|ܯk`gxW/,LF5rLn:(/{; (bo~A|*hWGv𮃟xRA ls g܈2n)=B)a4߮EE:ui+wbw<աt>B|Jv/-P/t=;\T!espzsK]8l̕ӷ>r坽#@U\;CZ"e3^͹ϝsrwnN{YE]uL_zv9^f̘!%_x̯Ww5a9Ǎ`M6V,n^)*xd^4hPME+Tl4**3I5 .RDnB*Bo6;\ayѥr"^M.bSLH_M͏"+f1MÓNS8sOru;LYVTUﻣgvM9ui{ .uPkh 6ȰvRaM?yG58zC{*{?!Rל&BVg)]-N)RHb ף m TF[dxk#D8͏~ n~?~=P!62,X ŕ:EIY7K:l蓗sﯺQ<????Roo\>~RF:=(!M_'^/"ӳ{'w[@3Gg߫P7c?}Zp$/?c?}i|} ?=tD݊ ^fiE4N*W;+?|tߔ "ui{Bt#9?vU4OoY|qr;:L#bY_kbr'^a`sV! 'H=+t#(6XQ`Ib*X.+I46$F|Ğ gx_/(a|髿O?~G!B#UW}o?o|}ugݷt|/2i!'`2qS}g ~x}-Nx?o/o]; ~D}oo98ZȿwA|+~ҥ+_ss>"nNOe"Н/r+g ÷9~i8R!+ep>>#X9 NR; Dړ6oU7BMM#[N|3ß4J&*'4z 0(UE]WLaˊ4p ٩^RznC,\K !TqhВLVcZ]ĎVG{?I,Ξ?V6/ g-VIso|7|~]-*2+E!ZQD??=O\'oF,?~ŀ(é uCY 'ߐ/*>$ 7h8{Hk7O`K~ x8^9+`_=$__uw9^?zYWq%>踪@h_zћn3w=fO.W ϼ[7a|\K{^87+(7y=z ucC__fw_^Q7N_:t >k1Z+O~/ճNۄPmW _փPIiG>7G6>[~m_ЧHM?SoQ5ͅ&&U}g;ep3_hQy= !ۄ0pAH)^6o[ɧ*)@#$YT_r[0X5;>CTۼa/tUu3qJ-@UeŲbYF!E A‥Wpkg\8w}7|׷ASp|>!&u@ 8Lo*/eGၣ '|u Ê3kzK/:~zE:E]+ZJM@:#/9u___94L~{y [ٝ𵲝(.al]' W7OP+2t׌(q"$l`BsW-U/-9ifٰPi %5nq-L @;z(t)EB"0ӱ.;0a">}?'o}@yտ?"w!<e/U *J{{P* vUӕ"#hP`W#w?|3^W, [0T`q1]/r'c8]|pqjRC=1b^9Bnq&-1&GQr#^QyM4|³0i殓_Tl}LB9ۢ9,X!V ENwO>݃ͩo~~8/zŝkUL3k)"4qW{Ε_S_~Q µE1E떉]'԰ P][{ɺʯ1 ^.ɗ.91B@!ܓE҄0 {˖Ej++7R ĕTb03 #%tQ[?}e/~.igO8m~_ _ ȅSZCC- UlCQBJ4 `ʖ7wijn;wO}×_|?ћo:Mָ>O? ZZb8۝S |C84=>Qw~jBBS/:8G1PdUllTyLIMXYZEzl  _AD..2{"ETsT'U6Uq02&B֬a`$ᄛrq gߴOPlC:"R: K>e/znܹ!컿y/?ב&N ZZP<}XF6l7U*dHޯ]tGUWa|_oy 3Y^}{ë}PATk@%Q+s*2EZD)Qtвe2 *;?s''u xD1+CaDOvOr4ߞ[3.2G=FF .lrɝ<~1 72?! k(|$8ʭWo߶?j0L7acjj>Q;2ڡ mV}c6>NaL`T!2˪gT4=%IMjf\Jslµu4oΏT-A1UlM_Eay{?|QawϺBݮ^[ɿ=?}?>t#?7io{7}___Wyŋ~ x)~ޟ|'%X"Qh)(0)ĨRC}?Gw<:~IB_ww{'v|.či/{k>~_$|K[+R(E nw~{_ ^N8Y6U)>c}t\Y^qͯj" %H`C)>Sm8W^1WJeT+CHp%ጠ&GohpGv_Sʪ>x/" ;;ozBDԃYZ0F7#2+g107O̬s$Ы0F&+)HsnI_*6B3׼ ?yϾϾuRIǞoCI8V 7Ϲ֯_/_YI8<8_x}Lt VĂ(Rho}{>CշРBq˷>~Ϸ>_ŗ|g~~‚ǯl~ជ4%<PE(,rlo}|ޣ;ӏ~NEb:X6p_߹G}upr:2*: 1P( 0PO|ʏ?"(Ê^D =4=1TTAwts3DLbgR&: A<)'nT%ZksCD]t7'Jq+aITyQgB @N\*ÄTH] Ѩ{H]d^Pu7Cu/L& p^EYHZ߲d,Jq-PQl!jf+2yc4g2Cg5g2\.keć_0±C @ha'Ug mj'PsU)#Rf6R=-:GFǽ1l\Ӏ)%-Y`2y~%D\7a(V|4rPx@ա4^vSM/_66Z *}9gB)̛a_3OPtf&Y-ZVB }RQC؛;' txkF.gz PQz`,(J=Q&R"ƶRva)p=@2(#}U*h{#*7gc *b_0ƉP@ Jj{3rTFQK<,֡tY(9ʷ̎TfC:C1E`>L\9:S45in A z~2gYlj& UqWuI3bm)tv AgFCqP`B4Y1)mh+P) \iA .aJNUlrlsIh@f,JWiIfVK|Z5O G!϶2Irjp+:L)}v̑B)f,iK>pRJE2Ъ'?Q*Z*E@ sЀFE O՘ &ld +,>|) F(؀tM ,Ta*Oň%g4IO΁P<4J½eƑ-$V1[ "!g&ދ/~:G+zeb!Ut +Ytt8 KLHIF~Eʌyҽx8|QFS)0jAd2bqebȊjim钾rv= ݜ5`΀"fQq (ǤZ0šYiы@ͨ8jHaS Bu *gRٜ}gX?,.efi" H1]+`^FādW#L/u[P!Ui!bM˼]lQi95-Gy쭮?&*q` nm)2`5ȧ(!:-c!j"M-k0Ֆ$Xl#&W ^(n%°DJ sȦggsQhjsuGv \vFő֜Ʀd^ChZ0lkS.iV1Al$Tǖ7LrrF!FKIa>;(+*j4Ŧ 1n9Qc!O8GݴhvëBlA0?VU/w<ƴNL&ЖT\Sqa|6-Ud1=O[q3h@@ҰoFNy8X#hg|C~hVf|z< iKC+wmo. f]*Pݲe |k%$pΙmjD5bU:[ٵ$IdTY|1P,n ۼ!d"y7[|Mse+"1l,9&Tx%CcSLTbQGho}(wxs$Pko ۀ"LtX/ 4JD (2FJ&l2;Cuf~//4DaY"a̸p\څEl~:.On #.)lX%({;dab^؂/NkM\%VD]dƴPQPi])Ր h" ̥ҡY\*Y< *b*HJjUa EYcc e׷L P-clSZ{jYi'ޠo5DA^,-7I\#߇&5iJ0/<gu!l=oޜtź2z32HtRĕb\5cmt947%֑|}4B P qNU%t'SXœ\gE Gۖ9f[+uWj nccD奙iiD"`et KKs_ fJNe~ЪeE24H,Vz<.cfJ/V,ڱ9ԧ̄HgCF(t(^Bo-"ވwТwl;0zږҏ|yaƺ9G{].׈!d4 ]eU{[Nd}TqHAqXmaX{[[>?}m"M0ݛ-uA\i{]4I7\h<}vF/Kei:> :_u>գmKLq@ݼm/8lY+0BI'2~+}byF9嘥dLSLtboԬlTO X=a.yZRdڏ9,, *6dY<}h"ڶ:QZz)9A H/d3,JG78r1燦*v BE*S#̍g WzOޣe0)Ih.E辬j*އs\DB0XTx /s?[&:~:)"-Ȝ/(ot,궾l VQV=RŃ6E֗-2ه׹OSnK['ʘ+{KS $C ȱ6jCcmX> tԟ[E@:"'-/j9$FN0j1XQݎ 0}D'ɢ8Fϱ-P&mIXVvwP"s1lN}:DdF$Kxq3]ˠ9$/Lb&ڻ5H",[fҢYHe^Zhѡ}щ}ܺ#iWSZ;۶΅INr6Okcp,Ug~ q$;|8DEq^vq.&'y\F(ں^$ YHs+F|7XCg ja"&/DYqm) t/5kxjd *l;3fE`ظZ}K)&ӽض$Vwθ(t],O9-tE{cZm*IFDBnp̤ /.(^ٟ\7L{.ÏYY9 yX2SroZ@2]Kޚ" vhi2J[ݤ$SQ6:\EZ!oE߱Ye`v`ypuQ^cUH/t.ڽEӒ.;wmʃc|fRt9;=J,@U7-TW eN.AK<̹1>})|$7XpX,oV<T㺭lCI:'BeC' a#֧p!8h%oU2'留l:QnQ41QIENDB`pvr.wmc-2.4.5-Leia/pvr.wmc/resources/000077500000000000000000000000001354134156400174025ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/000077500000000000000000000000001354134156400211655ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.af_za/000077500000000000000000000000001354134156400256555ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.af_za/strings.po000066400000000000000000000145311354134156400277120ustar00rootroot00000000000000# Kodi Media Center language file # Addon Name: PVR WMC Client # Addon id: pvr.wmc # Addon Provider: KrustyReturns and scarecrow420 msgid "" msgstr "" "Project-Id-Version: KODI Main\n" "Report-Msgid-Bugs-To: https://github.com/xbmc/xbmc/issues/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Kodi Translation Team\n" "Language-Team: Afrikaans (South Africa) (http://www.transifex.com/projects/p/kodi-main/language/af_ZA/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: af_ZA\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" msgctxt "#30000" msgid "Server Hostname or IP" msgstr "Bediener Gasheernaam of IP" msgctxt "#30001" msgid "Keep IP address to 127.0.0.1, if server is running on this same system" msgstr "Hou IP adres op 127.0.0.1, as bediener op hierdie selfde stelsel loop" msgctxt "#30002" msgid "Port Number" msgstr "Poort Nommer" msgctxt "#30003" msgid "Stream timeout, unknown problem" msgstr "Stroom tydverstreke, onbekende probleem" msgctxt "#30004" msgid "No video data found on this channel" msgstr "Geen video data gevind op hierdie kanaal" msgctxt "#30005" msgid "Tuner is needed for recording" msgstr "Ontvanger word benodig vir opneem" msgctxt "#30006" msgid "Recording delete failed, file in use or write protected" msgstr "Opname uitwis het gefaal, lêer in gebruik of skryf beskerm" msgctxt "#30007" msgid "Recording delete failed, recorded file doesn't exist" msgstr "Opname uitwis het gefaal, opgeneemde lêer bestaan nie" msgctxt "#30008" msgid "Recording file not found" msgstr "Opname lêer nie gevind nie" msgctxt "#30009" msgid "Alternate channel chosen: " msgstr "Alternatiewe kanaal gekies:" msgctxt "#30010" msgid "Alternate time chosen: " msgstr "Alternatiewe tyd gekies:" msgctxt "#30011" msgid "Can't start, tuner is no longer available" msgstr "Kan nie begin, instemmer is nie meer beskikbaar nie" msgctxt "#30012" msgid "Channel content is protected" msgstr "Kanaal inhoud is beskerm" msgctxt "#30013" msgid "End time increased by " msgstr "Eind tyd het vermeerder met" msgctxt "#30014" msgid "Enable SignalStatus calls" msgstr "Stel SignalStatus roepe in staat" msgctxt "#30015" msgid "Refresh SignalStatus Interval (sec)" msgstr "Verfris SignalStatus Interval (sek)" msgctxt "#30016" msgid "Store Resume/Watched status on server" msgstr "Stoor Hervat / Gekyk status op bediener" msgctxt "#30017" msgid "Recorded TV folder not found" msgstr "Opgeneemde TV gids nie gevind nie" msgctxt "#30018" msgid "Recorded TV folder cannot be opened" msgstr "Opgeneemde TV gids kan nie oopgemaak word nie" msgctxt "#30019" msgid "ServerWMC version update is available (%s)" msgstr "ServerWMC weergawe opdatering is beskikbaar (%s)" msgctxt "#30020" msgid "All tuners for this channel are busy" msgstr "Alle instemmers vir hierdie kanaal is besig" msgctxt "#30021" msgid "LiveTV timed-out" msgstr "LiveTV tyd verstryk" msgctxt "#30022" msgid "LiveTV error, exited early" msgstr "LiveTV fout, vroeg uit gegaan" msgctxt "#30023" msgid "Recording stream timed-out" msgstr "Opname stroom tyd verstryk" msgctxt "#30024" msgid "Recording stream exited early" msgstr "Opname stroom vroeg uit gegaan" msgctxt "#30025" msgid "Use WakeOnLAN to wake up server" msgstr "Gebruik WakeOnLAN om bediener te waak" msgctxt "#30026" msgid "Sending WakeOnLAN to server..." msgstr "Stuur WakeOnLAN vir bediener..." msgctxt "#30027" msgid "Time drift between client and backend of %s minutes" msgstr "Tyd dryf tussen kliënt en agterkant van %s minute" msgctxt "#30100" msgid "Recording Preference" msgstr "Opname voorkeur" msgctxt "#30101" msgid "Record this episode only" msgstr "Neem net hierdie episode op" msgctxt "#30102" msgid "Record the series" msgstr "Neem die reeks op" msgctxt "#30103" msgid "Show type:" msgstr "Vertoning tipe:" msgctxt "#30104" msgid "New and rerun" msgstr "Nuut en herhaling" msgctxt "#30105" msgid "New only" msgstr "Net nuut" msgctxt "#30106" msgid "Live only" msgstr "Net lewendig" msgctxt "#30107" msgid "Channel:" msgstr "Kanaal:" msgctxt "#30108" msgid "Any Channel" msgstr "Enige kanaal" msgctxt "#30110" msgid "Airtime:" msgstr "Lugtyd:" msgctxt "#30111" msgid "Anytime" msgstr "Enige tyd" msgctxt "#30120" msgid "Delete Timer" msgstr "Wis tydhouer uit" msgctxt "#30121" msgid "Delete this episode timer only" msgstr "Wis net hierdie episode tydhouer uit" msgctxt "#30122" msgid "Delete the entire series" msgstr "Wis die hele reeks uit" msgctxt "#30130" msgid "Created by Repeating Timer" msgstr "Geskep deur herhalende tydhouer" msgctxt "#30131" msgid "One time (manual)" msgstr "Een keer (handrolies)" msgctxt "#30132" msgid "One time (guide)" msgstr "Een keer (gids)" msgctxt "#30133" msgid "One time (wishlist)" msgstr "Een keer (wenslys)" msgctxt "#30134" msgid "Repeating (manual)" msgstr "Herhalend (handrolies)" msgctxt "#30135" msgid "Repeating (guide)" msgstr "Herhalend (gids)" msgctxt "#30136" msgid "Repeating (wishlist)" msgstr "Herhalend (wenslys)" msgctxt "#30140" msgid "Normal" msgstr "Normaal" msgctxt "#30141" msgid "High" msgstr "Hoog" msgctxt "#30142" msgid "Low" msgstr "Laag" msgctxt "#30150" msgid "New Episodes Only" msgstr "Net nuwe episodes" msgctxt "#30151" msgid "New and Rerun Episodes" msgstr "Nuwe en herhalende episodes" msgctxt "#30152" msgid "Live Only" msgstr "Net lewendig" msgctxt "#30160" msgid "Not Set" msgstr "Nie gestel nie" msgctxt "#30161" msgid "Keep Latest Recordings" msgstr "Hou laaste opnames" msgctxt "#30162" msgid "Keep Until I Watch" msgstr "Hou totdat ek kyk" msgctxt "#30163" msgid "Keep Until Space Needed" msgstr "Hou tot spasie benodig" msgctxt "#30164" msgid "Keep Until I Delete" msgstr "Hou tot ek uitwis" msgctxt "#30165" msgid "Keep For 1 Week" msgstr "Hou vir 1 week" msgctxt "#30170" msgid "Keep As Many As Possible" msgstr "Hou so baie moontlik" msgctxt "#30171" msgid "Keep 1 Recording" msgstr "Hou 1 Opname" msgctxt "#30172" msgid "Keep 2 Recordings" msgstr "Hou 2 Opnames" msgctxt "#30173" msgid "Keep 3 Recordings" msgstr "Hou 3 Opnames" msgctxt "#30174" msgid "Keep 4 Recordings" msgstr "Hou 4 Opnames" msgctxt "#30175" msgid "Keep 5 Recordings" msgstr "Hou 5 Opnames" msgctxt "#30176" msgid "Keep 6 Recordings" msgstr "Hou 6 Opnames" msgctxt "#30177" msgid "Keep 7 Recordings" msgstr "Hou 7 Opnames" msgctxt "#30178" msgid "Keep 10 Recordings" msgstr "Hou 10 Opnames" pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.am_et/000077500000000000000000000000001354134156400256625ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.am_et/strings.po000066400000000000000000000042151354134156400277150ustar00rootroot00000000000000# Kodi Media Center language file # Addon Name: PVR WMC Client # Addon id: pvr.wmc # Addon Provider: KrustyReturns and scarecrow420 msgid "" msgstr "" "Project-Id-Version: KODI Main\n" "Report-Msgid-Bugs-To: https://github.com/xbmc/xbmc/issues/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Kodi Translation Team\n" "Language-Team: Amharic (Ethiopia) (http://www.transifex.com/projects/p/kodi-main/language/am_ET/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: am_ET\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" msgctxt "#30004" msgid "No video data found on this channel" msgstr "በዚህ ጣቢያ ላይ ምንም የ ቪዲዮ ዳታ አልተገኘም" msgctxt "#30102" msgid "Record the series" msgstr "ተከታታዩን መቅረጫ" msgctxt "#30103" msgid "Show type:" msgstr "አይነት ማሳያ:" msgctxt "#30104" msgid "New and rerun" msgstr "አዲስ እና የተደገመ" msgctxt "#30105" msgid "New only" msgstr "አዲስ ብቻ" msgctxt "#30106" msgid "Live only" msgstr "በቀጥታ የሚተላለፍ ብቻ" msgctxt "#30107" msgid "Channel:" msgstr "ጣቢያ:" msgctxt "#30108" msgid "Any Channel" msgstr "ማንኛውም ጣቢያ" msgctxt "#30110" msgid "Airtime:" msgstr "ያየር ጊዜ:" msgctxt "#30111" msgid "Anytime" msgstr "በማንኛውም ጊዜ" msgctxt "#30120" msgid "Delete Timer" msgstr "መቁጠሪያውን ማጥፊያ" msgctxt "#30122" msgid "Delete the entire series" msgstr "በጠቅላላ ተከታታዩን ማጥፊያ" msgctxt "#30131" msgid "One time (manual)" msgstr "አንድ ጊዜ (በ እጅ)" msgctxt "#30132" msgid "One time (guide)" msgstr "አንድ ጊዜ (መምሪያ)" msgctxt "#30140" msgid "Normal" msgstr "መደበኛ " msgctxt "#30141" msgid "High" msgstr "ከፍተኛ " msgctxt "#30142" msgid "Low" msgstr "ዝቅተኛ " msgctxt "#30152" msgid "Live Only" msgstr "በቀጥታ የሚተላለፍ ብቻ" msgctxt "#30160" msgid "Not Set" msgstr "አልተሰናዳም" msgctxt "#30165" msgid "Keep For 1 Week" msgstr "ለ 1 ሳምንት ማቆያ" pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.ar_sa/000077500000000000000000000000001354134156400256625ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.ar_sa/strings.po000066400000000000000000000016631354134156400277210ustar00rootroot00000000000000# Kodi Media Center language file # Addon Name: PVR WMC Client # Addon id: pvr.wmc # Addon Provider: KrustyReturns and scarecrow420 msgid "" msgstr "" "Project-Id-Version: KODI Main\n" "Report-Msgid-Bugs-To: https://github.com/xbmc/xbmc/issues/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Kodi Translation Team\n" "Language-Team: Arabic (Saudi Arabia) (http://www.transifex.com/projects/p/kodi-main/language/ar_SA/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ar_SA\n" "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" msgctxt "#30107" msgid "Channel:" msgstr "محطة:" msgctxt "#30140" msgid "Normal" msgstr "عادي" msgctxt "#30141" msgid "High" msgstr "العظمى" msgctxt "#30142" msgid "Low" msgstr "الصغرى" pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.az_az/000077500000000000000000000000001354134156400257015ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.az_az/strings.po000066400000000000000000000012731354134156400277350ustar00rootroot00000000000000# Kodi Media Center language file # Addon Name: PVR WMC Client # Addon id: pvr.wmc # Addon Provider: KrustyReturns and scarecrow420 msgid "" msgstr "" "Project-Id-Version: KODI Main\n" "Report-Msgid-Bugs-To: https://github.com/xbmc/xbmc/issues/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Kodi Translation Team\n" "Language-Team: Azerbaijani (Azerbaijan) (http://www.transifex.com/projects/p/kodi-main/language/az_AZ/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: az_AZ\n" "Plural-Forms: nplurals=1; plural=0;\n" msgctxt "#30140" msgid "Normal" msgstr "Normal" pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.be_by/000077500000000000000000000000001354134156400256555ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.be_by/strings.po000066400000000000000000000016501354134156400277100ustar00rootroot00000000000000# Kodi Media Center language file # Addon Name: PVR WMC Client # Addon id: pvr.wmc # Addon Provider: KrustyReturns and scarecrow420 msgid "" msgstr "" "Project-Id-Version: KODI Main\n" "Report-Msgid-Bugs-To: https://github.com/xbmc/xbmc/issues/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Kodi Translation Team\n" "Language-Team: Belarusian (Belarus) (http://www.transifex.com/projects/p/kodi-main/language/be_BY/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: be_BY\n" "Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" msgctxt "#30107" msgid "Channel:" msgstr "Channel:" msgctxt "#30140" msgid "Normal" msgstr "Normal" msgctxt "#30141" msgid "High" msgstr "Высокая" msgctxt "#30142" msgid "Low" msgstr "Нізкая" pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.bg_bg/000077500000000000000000000000001354134156400256355ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.bg_bg/strings.po000066400000000000000000000206611354134156400276730ustar00rootroot00000000000000# Kodi Media Center language file # Addon Name: PVR WMC Client # Addon id: pvr.wmc # Addon Provider: KrustyReturns and scarecrow420 msgid "" msgstr "" "Project-Id-Version: KODI Main\n" "Report-Msgid-Bugs-To: https://github.com/xbmc/xbmc/issues/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Kodi Translation Team\n" "Language-Team: Bulgarian (Bulgaria) (http://www.transifex.com/projects/p/kodi-main/language/bg_BG/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: bg_BG\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" msgctxt "#30000" msgid "Server Hostname or IP" msgstr "Име на хоста или IP адрес на сървъра" msgctxt "#30001" msgid "Keep IP address to 127.0.0.1, if server is running on this same system" msgstr "IP адресът да бъде 127.0.0.1, ако сървърът работи на същата система" msgctxt "#30002" msgid "Port Number" msgstr "Номер на порта" msgctxt "#30003" msgid "Stream timeout, unknown problem" msgstr "Времето за изчакване на потока изтече. Има неизвестен проблем." msgctxt "#30004" msgid "No video data found on this channel" msgstr "Не са открити видео данни в този канал" msgctxt "#30005" msgid "Tuner is needed for recording" msgstr "Нужен е тунер за записване" msgctxt "#30006" msgid "Recording delete failed, file in use or write protected" msgstr "Неуспешно изтриване на записа. Файлът се ползва или е защитен." msgctxt "#30007" msgid "Recording delete failed, recorded file doesn't exist" msgstr "Неуспешно изтриване на записа. Няма такъв файл със запис." msgctxt "#30008" msgid "Recording file not found" msgstr "Записаният файл не е открит" msgctxt "#30009" msgid "Alternate channel chosen: " msgstr "Избран е друг канал:" msgctxt "#30010" msgid "Alternate time chosen: " msgstr "Избрано е друго време:" msgctxt "#30011" msgid "Can't start, tuner is no longer available" msgstr "Стартирането е невъзможно. Тунерът вече не наличен." msgctxt "#30012" msgid "Channel content is protected" msgstr "Съдържанието на канала е защитено" msgctxt "#30013" msgid "End time increased by " msgstr "Времето на приключване е увеличено с" msgctxt "#30014" msgid "Enable SignalStatus calls" msgstr "Проверки на състоянието на сигнала" msgctxt "#30015" msgid "Refresh SignalStatus Interval (sec)" msgstr "Интервал за проверка на състоянието на сигнала (сек)" msgctxt "#30016" msgid "Store Resume/Watched status on server" msgstr "Пазене не инф. за възобновяване/изгледано на сървъра" msgctxt "#30017" msgid "Recorded TV folder not found" msgstr "Папката със записана ТВ не е открита" msgctxt "#30018" msgid "Recorded TV folder cannot be opened" msgstr "Папката със записана ТВ не може да бъде отворена" msgctxt "#30019" msgid "ServerWMC version update is available (%s)" msgstr "Налична е актуализация на сървър WMC (%s)" msgctxt "#30020" msgid "All tuners for this channel are busy" msgstr "Всички тунери за този канал са заети" msgctxt "#30021" msgid "LiveTV timed-out" msgstr "Времето за изчакване за ТВ на живо изтече" msgctxt "#30022" msgid "LiveTV error, exited early" msgstr "Грешка в ТВ на живо. Приключи преждевременно." msgctxt "#30023" msgid "Recording stream timed-out" msgstr "Времето за изчакване на потока за запис изтече" msgctxt "#30024" msgid "Recording stream exited early" msgstr "Потокът за запис приключи преждевременно" msgctxt "#30025" msgid "Use WakeOnLAN to wake up server" msgstr "Да се използва включване по LAN за събуждане на сървъра" msgctxt "#30026" msgid "Sending WakeOnLAN to server..." msgstr "Изпращане на сигнал за включване по LAN към сървъра…" msgctxt "#30027" msgid "Time drift between client and backend of %s minutes" msgstr "Разликата във времената на клиента и сървъра е %s минути" msgctxt "#30100" msgid "Recording Preference" msgstr "Предпочитания за запис" msgctxt "#30101" msgid "Record this episode only" msgstr "Запис само на този епизод" msgctxt "#30102" msgid "Record the series" msgstr "Запис на сериала" msgctxt "#30103" msgid "Show type:" msgstr "Да се показват:" msgctxt "#30104" msgid "New and rerun" msgstr "Нови и повторения" msgctxt "#30105" msgid "New only" msgstr "Само нови" msgctxt "#30106" msgid "Live only" msgstr "Само на живо" msgctxt "#30107" msgid "Channel:" msgstr "Канал:" msgctxt "#30108" msgid "Any Channel" msgstr "Всеки канал" msgctxt "#30110" msgid "Airtime:" msgstr "Време на излъчване" msgctxt "#30111" msgid "Anytime" msgstr "По всяко време" msgctxt "#30120" msgid "Delete Timer" msgstr "Изтриване на брояча" msgctxt "#30121" msgid "Delete this episode timer only" msgstr "Изтриване на брояча само за този епизод" msgctxt "#30122" msgid "Delete the entire series" msgstr "Изтриване на целия сериал" msgctxt "#30130" msgid "Created by Repeating Timer" msgstr "Създадено от повтарящ се брояч" msgctxt "#30131" msgid "One time (manual)" msgstr "Еднократно (ръчно)" msgctxt "#30132" msgid "One time (guide)" msgstr "Еднократно (справочник)" msgctxt "#30133" msgid "One time (wishlist)" msgstr "Еднократно (списък с желания)" msgctxt "#30134" msgid "Repeating (manual)" msgstr "Повтаряемо (ръчно)" msgctxt "#30135" msgid "Repeating (guide)" msgstr "Повтаряемо (справочник)" msgctxt "#30136" msgid "Repeating (wishlist)" msgstr "Повтаряемо (списък с желания)" msgctxt "#30140" msgid "Normal" msgstr "Нормално" msgctxt "#30141" msgid "High" msgstr "Високо" msgctxt "#30142" msgid "Low" msgstr "Ниско" msgctxt "#30150" msgid "New Episodes Only" msgstr "Само нови епизоди" msgctxt "#30151" msgid "New and Rerun Episodes" msgstr "Нови епизоди и повторения" msgctxt "#30152" msgid "Live Only" msgstr "Само на живо" msgctxt "#30160" msgid "Not Set" msgstr "Не е зададено" msgctxt "#30161" msgid "Keep Latest Recordings" msgstr "Съхраняване на последните записи" msgctxt "#30162" msgid "Keep Until I Watch" msgstr "Съхраняване докато не бъдат изгледани" msgctxt "#30163" msgid "Keep Until Space Needed" msgstr "Съхраняване докато няма недостиг на място" msgctxt "#30164" msgid "Keep Until I Delete" msgstr "Съхраняване докато не бъдат изтрити" msgctxt "#30165" msgid "Keep For 1 Week" msgstr "Съхраняване за 1 седмица" msgctxt "#30170" msgid "Keep As Many As Possible" msgstr "Съхраняване на възможно най-много" msgctxt "#30171" msgid "Keep 1 Recording" msgstr "Съхраняване на 1 запис" msgctxt "#30172" msgid "Keep 2 Recordings" msgstr "Съхраняване на 2 записа" msgctxt "#30173" msgid "Keep 3 Recordings" msgstr "Съхраняване на 3 записа" msgctxt "#30174" msgid "Keep 4 Recordings" msgstr "Съхраняване на 4 записа" msgctxt "#30175" msgid "Keep 5 Recordings" msgstr "Съхраняване на 5 записа" msgctxt "#30176" msgid "Keep 6 Recordings" msgstr "Съхраняване на 6 записа" msgctxt "#30177" msgid "Keep 7 Recordings" msgstr "Съхраняване на 7 записа" msgctxt "#30178" msgid "Keep 10 Recordings" msgstr "Съхраняване на 10 записа" pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.bs_ba/000077500000000000000000000000001354134156400256435ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.bs_ba/strings.po000066400000000000000000000016441354134156400277010ustar00rootroot00000000000000# Kodi Media Center language file # Addon Name: PVR WMC Client # Addon id: pvr.wmc # Addon Provider: KrustyReturns and scarecrow420 msgid "" msgstr "" "Project-Id-Version: KODI Main\n" "Report-Msgid-Bugs-To: https://github.com/xbmc/xbmc/issues/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Kodi Translation Team\n" "Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/projects/p/kodi-main/language/bs_BA/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: bs_BA\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" msgctxt "#30107" msgid "Channel:" msgstr "Kanal:" msgctxt "#30140" msgid "Normal" msgstr "Normalno" msgctxt "#30141" msgid "High" msgstr "visok" msgctxt "#30142" msgid "Low" msgstr "nizak" pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.ca_es/000077500000000000000000000000001354134156400256475ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.ca_es/strings.po000066400000000000000000000116511354134156400277040ustar00rootroot00000000000000# Kodi Media Center language file # Addon Name: PVR WMC Client # Addon id: pvr.wmc # Addon Provider: KrustyReturns and scarecrow420 msgid "" msgstr "" "Project-Id-Version: KODI Main\n" "Report-Msgid-Bugs-To: https://github.com/xbmc/xbmc/issues/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Kodi Translation Team\n" "Language-Team: Catalan (Spain) (http://www.transifex.com/projects/p/kodi-main/language/ca_ES/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ca_ES\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" msgctxt "#30000" msgid "Server Hostname or IP" msgstr "Nom d'amfitrió o IP del servidor" msgctxt "#30001" msgid "Keep IP address to 127.0.0.1, if server is running on this same system" msgstr "Mantén les adreces IP a 127.0.0.1, si el servidor s'està executant en el mateix sistema" msgctxt "#30002" msgid "Port Number" msgstr "Número de port" msgctxt "#30003" msgid "Stream timeout, unknown problem" msgstr "Temps d'expiració de la transmissió, problema desconegut" msgctxt "#30004" msgid "No video data found on this channel" msgstr "No s'ha trobat vídeo en aquest canal" msgctxt "#30005" msgid "Tuner is needed for recording" msgstr "Es requereix sintonitzador per a enregistrar" msgctxt "#30006" msgid "Recording delete failed, file in use or write protected" msgstr "Eliminació de l'enregistrament fallida, fitxer en ús o protegit contra escriptura" msgctxt "#30007" msgid "Recording delete failed, recorded file doesn't exist" msgstr "Eliminació de l'enregistrament fallida, el fitxer no existeix" msgctxt "#30008" msgid "Recording file not found" msgstr "Fitxer de l'enregistrament no trobat" msgctxt "#30011" msgid "Can't start, tuner is no longer available" msgstr "No es pot iniciar, el sintonitzador ja no està disponible" msgctxt "#30012" msgid "Channel content is protected" msgstr "El contingut del canal està protegit" msgctxt "#30014" msgid "Enable SignalStatus calls" msgstr "Habilita les crides SignalStatus" msgctxt "#30016" msgid "Store Resume/Watched status on server" msgstr "Emmagatzema l'estat reprèn/vist al servidor" msgctxt "#30025" msgid "Use WakeOnLAN to wake up server" msgstr "Utilitza WakeOnLAN per despertar el servidor" msgctxt "#30026" msgid "Sending WakeOnLAN to server..." msgstr "S'està enviant WakeOnLAN al servidor..." msgctxt "#30100" msgid "Recording Preference" msgstr "Preferència d'enregistrament" msgctxt "#30101" msgid "Record this episode only" msgstr "Enregistra únicament aquest episodi" msgctxt "#30102" msgid "Record the series" msgstr "Enregistra les sèries" msgctxt "#30103" msgid "Show type:" msgstr "Tipus de programa de TV:" msgctxt "#30105" msgid "New only" msgstr "Només nous" msgctxt "#30106" msgid "Live only" msgstr "Només en directe" msgctxt "#30107" msgid "Channel:" msgstr "Canal:" msgctxt "#30108" msgid "Any Channel" msgstr "Qualsevol canal" msgctxt "#30110" msgid "Airtime:" msgstr "Temps en l'aire:" msgctxt "#30111" msgid "Anytime" msgstr "En qualsevol moment" msgctxt "#30120" msgid "Delete Timer" msgstr "Elimina Comptador" msgctxt "#30122" msgid "Delete the entire series" msgstr "Suprimeix les sèries completes" msgctxt "#30131" msgid "One time (manual)" msgstr "Un cop (manual)" msgctxt "#30132" msgid "One time (guide)" msgstr "Un cop (guia)" msgctxt "#30134" msgid "Repeating (manual)" msgstr "Repetició" msgctxt "#30135" msgid "Repeating (guide)" msgstr "Repetició (guia)" msgctxt "#30140" msgid "Normal" msgstr "Normal" msgctxt "#30141" msgid "High" msgstr "Alt" msgctxt "#30142" msgid "Low" msgstr "Baix" msgctxt "#30150" msgid "New Episodes Only" msgstr "Únicament els episodis nous" msgctxt "#30152" msgid "Live Only" msgstr "Només en directe" msgctxt "#30160" msgid "Not Set" msgstr "Sense establir" msgctxt "#30161" msgid "Keep Latest Recordings" msgstr "Mantén els últims enregistraments" msgctxt "#30162" msgid "Keep Until I Watch" msgstr "Mantén fins que el miri" msgctxt "#30163" msgid "Keep Until Space Needed" msgstr "Mantén fins que es necessiti espai" msgctxt "#30164" msgid "Keep Until I Delete" msgstr "Mantén fins que l'elimini" msgctxt "#30165" msgid "Keep For 1 Week" msgstr "Mantén durant 1 setmana" msgctxt "#30170" msgid "Keep As Many As Possible" msgstr "Mantén tant com puguis" msgctxt "#30171" msgid "Keep 1 Recording" msgstr "Mantén 1 enregistrament" msgctxt "#30172" msgid "Keep 2 Recordings" msgstr "Mantén 2 enregistraments" msgctxt "#30173" msgid "Keep 3 Recordings" msgstr "Mantén 3 enregistraments" msgctxt "#30174" msgid "Keep 4 Recordings" msgstr "Mantén 4 enregistraments" msgctxt "#30175" msgid "Keep 5 Recordings" msgstr "Mantén 5 enregistraments" msgctxt "#30176" msgid "Keep 6 Recordings" msgstr "Mantén 6 enregistraments" msgctxt "#30177" msgid "Keep 7 Recordings" msgstr "Mantén 7 enregistraments" msgctxt "#30178" msgid "Keep 10 Recordings" msgstr "Mantén 10 enregistraments" pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.cs_cz/000077500000000000000000000000001354134156400256765ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.cs_cz/strings.po000066400000000000000000000154161354134156400277360ustar00rootroot00000000000000# Kodi Media Center language file # Addon Name: PVR WMC Client # Addon id: pvr.wmc # Addon Provider: KrustyReturns and scarecrow420 msgid "" msgstr "" "Project-Id-Version: KODI Main\n" "Report-Msgid-Bugs-To: https://github.com/xbmc/xbmc/issues/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Kodi Translation Team\n" "Language-Team: Czech (Czech Republic) (http://www.transifex.com/projects/p/kodi-main/language/cs_CZ/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: cs_CZ\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" msgctxt "#30000" msgid "Server Hostname or IP" msgstr "Název hostitele nebo adresa IP serveru" msgctxt "#30001" msgid "Keep IP address to 127.0.0.1, if server is running on this same system" msgstr "Pokud server běží na stejném systému, ponechte adresu IP 127.0.0.1" msgctxt "#30002" msgid "Port Number" msgstr "Číslo portu" msgctxt "#30003" msgid "Stream timeout, unknown problem" msgstr "Časový limit datového proudu, neznámý problém" msgctxt "#30004" msgid "No video data found on this channel" msgstr "Na tomto kanále nebyla nalezena žádná data videa" msgctxt "#30005" msgid "Tuner is needed for recording" msgstr "Pro nahrávání je nutný tuner" msgctxt "#30006" msgid "Recording delete failed, file in use or write protected" msgstr "Odstranění nahrávky selhalo, soubor je používán nebo je chráněn proti zápisu" msgctxt "#30007" msgid "Recording delete failed, recorded file doesn't exist" msgstr "Odstranění nahrávky selhalo, soubor s nahrávkou neexistuje" msgctxt "#30008" msgid "Recording file not found" msgstr "Soubor nahrávky nebyl nalezen" msgctxt "#30009" msgid "Alternate channel chosen: " msgstr "Zvolen alternativní kanál:" msgctxt "#30010" msgid "Alternate time chosen: " msgstr "Zvolený alternativní čas:" msgctxt "#30011" msgid "Can't start, tuner is no longer available" msgstr "Nelze spustit, tuner už není dostupný" msgctxt "#30012" msgid "Channel content is protected" msgstr "Obsah kanálu je chráněn" msgctxt "#30013" msgid "End time increased by " msgstr "Čas ukončení posunut o " msgctxt "#30014" msgid "Enable SignalStatus calls" msgstr "Povolit hlášení stavu signálu" msgctxt "#30015" msgid "Refresh SignalStatus Interval (sec)" msgstr "Interval obnovy stavu signálu (s) " msgctxt "#30016" msgid "Store Resume/Watched status on server" msgstr "Ukládat stav Obnovit a Zhlédnuto na serveru" msgctxt "#30017" msgid "Recorded TV folder not found" msgstr "Složka pro nahrávky nebyla nalezena" msgctxt "#30018" msgid "Recorded TV folder cannot be opened" msgstr "Složku pro nahrávky nelze otevřít" msgctxt "#30019" msgid "ServerWMC version update is available (%s)" msgstr "Pro ServerWMC je dostupná aktualizace (%s) " msgctxt "#30020" msgid "All tuners for this channel are busy" msgstr "Všechny tunery pro tento kanál jsou zaneprázdněny" msgctxt "#30021" msgid "LiveTV timed-out" msgstr "Překročen časový limit živého vysílání" msgctxt "#30022" msgid "LiveTV error, exited early" msgstr "Chyba živého vysílání, ukončeno dříve" msgctxt "#30023" msgid "Recording stream timed-out" msgstr "Překročen časový limit nahrávání datového proudu" msgctxt "#30024" msgid "Recording stream exited early" msgstr "Nahrávání datového proudu ukončeno dříve" msgctxt "#30025" msgid "Use WakeOnLAN to wake up server" msgstr "Server probouzet prostřednictvím sítě (WakeOnLAN)" msgctxt "#30026" msgid "Sending WakeOnLAN to server..." msgstr "Odesílání WakeOnLAN na server…" msgctxt "#30027" msgid "Time drift between client and backend of %s minutes" msgstr "Časový posun mezi klientem a serverem o %s minut" msgctxt "#30100" msgid "Recording Preference" msgstr "Předvolby nahrávání" msgctxt "#30101" msgid "Record this episode only" msgstr "Nahrát pouze tuto epizodu" msgctxt "#30102" msgid "Record the series" msgstr "Nahrát sezónu" msgctxt "#30103" msgid "Show type:" msgstr "Zobrazit typ:" msgctxt "#30104" msgid "New and rerun" msgstr "Nové a reprízované" msgctxt "#30105" msgid "New only" msgstr "Pouze nové" msgctxt "#30106" msgid "Live only" msgstr "Pouze živé" msgctxt "#30107" msgid "Channel:" msgstr "Kanál:" msgctxt "#30108" msgid "Any Channel" msgstr "Jakýkoliv kanál" msgctxt "#30110" msgid "Airtime:" msgstr "Čas vysílání:" msgctxt "#30111" msgid "Anytime" msgstr "Kdykoliv" msgctxt "#30120" msgid "Delete Timer" msgstr "Odstranit časovač" msgctxt "#30121" msgid "Delete this episode timer only" msgstr "Odstranit časovač pouze pro tuto epizodu" msgctxt "#30122" msgid "Delete the entire series" msgstr "Odstranit celou sezónu" msgctxt "#30130" msgid "Created by Repeating Timer" msgstr "Vytvořeno opakujícím se časovačem" msgctxt "#30131" msgid "One time (manual)" msgstr "Jednorázově (ručně)" msgctxt "#30132" msgid "One time (guide)" msgstr "Jednorázově (program)" msgctxt "#30133" msgid "One time (wishlist)" msgstr "Jednou (seznam přání)" msgctxt "#30134" msgid "Repeating (manual)" msgstr "Opakovaný (ručně)" msgctxt "#30135" msgid "Repeating (guide)" msgstr "Opakovaný (program)" msgctxt "#30136" msgid "Repeating (wishlist)" msgstr "Opakovaný (seznam přání)" msgctxt "#30140" msgid "Normal" msgstr "Normální" msgctxt "#30141" msgid "High" msgstr "Vysoká" msgctxt "#30142" msgid "Low" msgstr "Nízká" msgctxt "#30150" msgid "New Episodes Only" msgstr "Pouze nové epizody" msgctxt "#30151" msgid "New and Rerun Episodes" msgstr "Nové a reprízované epizody" msgctxt "#30152" msgid "Live Only" msgstr "Pouze živé" msgctxt "#30160" msgid "Not Set" msgstr "Nenastaveno" msgctxt "#30161" msgid "Keep Latest Recordings" msgstr "Ponechávat nejnovější nahrávky" msgctxt "#30162" msgid "Keep Until I Watch" msgstr "Ponechávat do zhlédnutí" msgctxt "#30163" msgid "Keep Until Space Needed" msgstr "Ponechávat dokud není potřeba místo" msgctxt "#30164" msgid "Keep Until I Delete" msgstr "Ponechávat do odstranění" msgctxt "#30165" msgid "Keep For 1 Week" msgstr "Ponechávat 1 týden" msgctxt "#30170" msgid "Keep As Many As Possible" msgstr "Ponechávat co nejvíce" msgctxt "#30171" msgid "Keep 1 Recording" msgstr "Ponechávat 1 nahrávku" msgctxt "#30172" msgid "Keep 2 Recordings" msgstr "Ponechávat 2 nahrávky" msgctxt "#30173" msgid "Keep 3 Recordings" msgstr "Ponechávat 3 nahrávky" msgctxt "#30174" msgid "Keep 4 Recordings" msgstr "Ponechávat 4 nahrávky" msgctxt "#30175" msgid "Keep 5 Recordings" msgstr "Ponechávat 5 nahrávek" msgctxt "#30176" msgid "Keep 6 Recordings" msgstr "Ponechávat 6 nahrávek" msgctxt "#30177" msgid "Keep 7 Recordings" msgstr "Ponechávat 7 nahrávek" msgctxt "#30178" msgid "Keep 10 Recordings" msgstr "Ponechávat 10 nahrávek" pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.cy_gb/000077500000000000000000000000001354134156400256605ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.cy_gb/strings.po000066400000000000000000000055601354134156400277170ustar00rootroot00000000000000# Kodi Media Center language file # Addon Name: PVR WMC Client # Addon id: pvr.wmc # Addon Provider: KrustyReturns and scarecrow420 msgid "" msgstr "" "Project-Id-Version: KODI Main\n" "Report-Msgid-Bugs-To: https://github.com/xbmc/xbmc/issues/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Kodi Translation Team\n" "Language-Team: Welsh (United Kingdom) (http://www.transifex.com/projects/p/kodi-main/language/cy_GB/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: cy_GB\n" "Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3;\n" msgctxt "#30000" msgid "Server Hostname or IP" msgstr "Enw Cynhaliwr neu IP y Gweinydd" msgctxt "#30001" msgid "Keep IP address to 127.0.0.1, if server is running on this same system" msgstr "Cadwch y cyfeiriad IP yn 127.0.0.1 os bydd gweinydd yn rhedeg ar un system" msgctxt "#30002" msgid "Port Number" msgstr "Rhif y Porth" msgctxt "#30003" msgid "Stream timeout, unknown problem" msgstr "Terfyn amser ffrydio. Gwall anhysbys" msgctxt "#30004" msgid "No video data found on this channel" msgstr "Ni chanfuwyd unrhyw ddata fideo ar y sianel hon" msgctxt "#30005" msgid "Tuner is needed for recording" msgstr "Rhaid cael tiwniwr er mwyn recordio" msgctxt "#30006" msgid "Recording delete failed, file in use or write protected" msgstr "Nid oes modd dileu'r recordiad. Mae'n cael ei ddefnyddio neu y mae wedi'i ddiogelu." msgctxt "#30007" msgid "Recording delete failed, recorded file doesn't exist" msgstr "Nid oes modd dileu'r recordiad. Nid yw'r ffeil yn bodoli" msgctxt "#30008" msgid "Recording file not found" msgstr "Ni chanfuwyd ffeil recordio" msgctxt "#30009" msgid "Alternate channel chosen: " msgstr "Y sianel amgen a ddewiswyd:" msgctxt "#30010" msgid "Alternate time chosen: " msgstr "Yr amser angen a ddewiswyd:" msgctxt "#30011" msgid "Can't start, tuner is no longer available" msgstr "Methu dechrau. Nid yw'r tiwniwr ar gael bellach" msgctxt "#30012" msgid "Channel content is protected" msgstr "Diogelid cynnwys y sianel" msgctxt "#30101" msgid "Record this episode only" msgstr "Recordio'r bennod yma" msgctxt "#30107" msgid "Channel:" msgstr "Sianel:" msgctxt "#30108" msgid "Any Channel" msgstr "Unrhyw Sianel" msgctxt "#30111" msgid "Anytime" msgstr "Unrhyw bryd" msgctxt "#30122" msgid "Delete the entire series" msgstr "Dileu'r gyfres gyfan" msgctxt "#30131" msgid "One time (manual)" msgstr "Unwaith (â llaw)" msgctxt "#30132" msgid "One time (guide)" msgstr "Unwaith (gydag arweiniad)" msgctxt "#30134" msgid "Repeating (manual)" msgstr "Ailadrodd (â llaw)" msgctxt "#30135" msgid "Repeating (guide)" msgstr "Ailadrodd (gydag arweiniad)" msgctxt "#30140" msgid "Normal" msgstr "Normal" msgctxt "#30141" msgid "High" msgstr "Uchel" msgctxt "#30142" msgid "Low" msgstr "Isel" pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.da_dk/000077500000000000000000000000001354134156400256375ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.da_dk/strings.po000066400000000000000000000116531354134156400276760ustar00rootroot00000000000000# Kodi Media Center language file # Addon Name: PVR WMC Client # Addon id: pvr.wmc # Addon Provider: KrustyReturns and scarecrow420 msgid "" msgstr "" "Project-Id-Version: KODI Main\n" "Report-Msgid-Bugs-To: https://github.com/xbmc/xbmc/issues/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Kodi Translation Team\n" "Language-Team: Danish (Denmark) (http://www.transifex.com/projects/p/kodi-main/language/da_DK/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: da_DK\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" msgctxt "#30000" msgid "Server Hostname or IP" msgstr "Server værtsnavn eller IP-adresse" msgctxt "#30001" msgid "Keep IP address to 127.0.0.1, if server is running on this same system" msgstr "Behold IP adresse 127.0.0.1, hvis server køre på det samme system" msgctxt "#30002" msgid "Port Number" msgstr "Portnummer" msgctxt "#30003" msgid "Stream timeout, unknown problem" msgstr "Stream timeout, ukendt problem" msgctxt "#30004" msgid "No video data found on this channel" msgstr "Ingen video data fundet på denne kanal" msgctxt "#30005" msgid "Tuner is needed for recording" msgstr "En TV-tuner er påkrævet for at optage" msgctxt "#30006" msgid "Recording delete failed, file in use or write protected" msgstr "Optagelse kan ikke slettes, fil i brug eller skrivebeskyttet" msgctxt "#30007" msgid "Recording delete failed, recorded file doesn't exist" msgstr "Optagelse kan ikke slettes, fil eksisterer ikke" msgctxt "#30008" msgid "Recording file not found" msgstr "Optagelsesfil ikke fundet" msgctxt "#30009" msgid "Alternate channel chosen: " msgstr "Alternativ kanal valgt:" msgctxt "#30010" msgid "Alternate time chosen: " msgstr "Alternativ tid valgt:" msgctxt "#30011" msgid "Can't start, tuner is no longer available" msgstr "Kan ikke starte, tuneren er ikke længere tilgængelig" msgctxt "#30012" msgid "Channel content is protected" msgstr "Kanalens indhold er beskyttet" msgctxt "#30013" msgid "End time increased by " msgstr "Slut tid forlænget med" msgctxt "#30014" msgid "Enable SignalStatus calls" msgstr "Aktiver SignalStatus opkald" msgctxt "#30015" msgid "Refresh SignalStatus Interval (sec)" msgstr "Opdater SignalStatus interval (sek)" msgctxt "#30016" msgid "Store Resume/Watched status on server" msgstr "Gem Resume/Watched status på server" msgctxt "#30017" msgid "Recorded TV folder not found" msgstr "Optaget TV mappe ikke fundet" msgctxt "#30018" msgid "Recorded TV folder cannot be opened" msgstr "Optaget TV mappe kan ikke åbnes" msgctxt "#30019" msgid "ServerWMC version update is available (%s)" msgstr "ServerWMC opdatering er tilgængelig (%s)" msgctxt "#30020" msgid "All tuners for this channel are busy" msgstr "Alle tunere til denne kanal er optaget" msgctxt "#30021" msgid "LiveTV timed-out" msgstr "LiveTV timed-out" msgctxt "#30022" msgid "LiveTV error, exited early" msgstr "LiveTV fejl, afsluttet før tid" msgctxt "#30023" msgid "Recording stream timed-out" msgstr "Stream optagelse timed-out" msgctxt "#30024" msgid "Recording stream exited early" msgstr "Stream optagelse afsluttet før tid" msgctxt "#30025" msgid "Use WakeOnLAN to wake up server" msgstr "Brug netværks-opvågning til at vække serveren" msgctxt "#30026" msgid "Sending WakeOnLAN to server..." msgstr "Sender opvågningssignal til server..." msgctxt "#30027" msgid "Time drift between client and backend of %s minutes" msgstr "Tids skridning mellem klient og server på &s minutter" msgctxt "#30100" msgid "Recording Preference" msgstr "Optagelses præference" msgctxt "#30101" msgid "Record this episode only" msgstr "Optag kun dette afsnit" msgctxt "#30102" msgid "Record the series" msgstr "Optag serien" msgctxt "#30103" msgid "Show type:" msgstr "Vis type:" msgctxt "#30104" msgid "New and rerun" msgstr "Nye og genudsendelser" msgctxt "#30105" msgid "New only" msgstr "Udelukkende nye" msgctxt "#30106" msgid "Live only" msgstr "Udelukkende Live" msgctxt "#30107" msgid "Channel:" msgstr "Kanal:" msgctxt "#30108" msgid "Any Channel" msgstr "Hvilken som helst kanal" msgctxt "#30110" msgid "Airtime:" msgstr "Visningstid" msgctxt "#30111" msgid "Anytime" msgstr "Vilkårligt tidspunkt" msgctxt "#30120" msgid "Delete Timer" msgstr "Slet tidspunkt" msgctxt "#30121" msgid "Delete this episode timer only" msgstr "Slet kun dette episodetidspunkt" msgctxt "#30122" msgid "Delete the entire series" msgstr "Delete the entire series" msgctxt "#30135" msgid "Repeating (guide)" msgstr "Gentagende (vejledning)" msgctxt "#30140" msgid "Normal" msgstr "Normal" msgctxt "#30141" msgid "High" msgstr "Høj" msgctxt "#30142" msgid "Low" msgstr "Lav" msgctxt "#30150" msgid "New Episodes Only" msgstr "Kun nye afsnit" msgctxt "#30165" msgid "Keep For 1 Week" msgstr "Gem i 1 uge" msgctxt "#30171" msgid "Keep 1 Recording" msgstr "Gem 1 optagelse" msgctxt "#30172" msgid "Keep 2 Recordings" msgstr "Gem 2 optagelser" pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.de_de/000077500000000000000000000000001354134156400256355ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.de_de/strings.po000066400000000000000000000151761354134156400277000ustar00rootroot00000000000000# Kodi Media Center language file # Addon Name: PVR WMC Client # Addon id: pvr.wmc # Addon Provider: KrustyReturns and scarecrow420 msgid "" msgstr "" "Project-Id-Version: KODI Main\n" "Report-Msgid-Bugs-To: https://github.com/xbmc/xbmc/issues/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Kodi Translation Team\n" "Language-Team: German (Germany) (http://www.transifex.com/projects/p/kodi-main/language/de_DE/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: de_DE\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" msgctxt "#30000" msgid "Server Hostname or IP" msgstr "Server-Hostname oder IP" msgctxt "#30001" msgid "Keep IP address to 127.0.0.1, if server is running on this same system" msgstr "IP-Adresse von 127.0.0.1 behalten, wenn der Server auf demselben System ausgeführt wird" msgctxt "#30002" msgid "Port Number" msgstr "Portnummer" msgctxt "#30003" msgid "Stream timeout, unknown problem" msgstr "Bildschirmzeitüberschreitung, unbekanntes Problem" msgctxt "#30004" msgid "No video data found on this channel" msgstr "Auf diesem Sender wurden keine Videodaten gefunden" msgctxt "#30005" msgid "Tuner is needed for recording" msgstr "Tuner wird für die Aufnahme benötigt" msgctxt "#30006" msgid "Recording delete failed, file in use or write protected" msgstr "Löschen der Aufnahme fehlgeschlagen, Datei in Gebrauch oder schreibgeschützt" msgctxt "#30007" msgid "Recording delete failed, recorded file doesn't exist" msgstr "Löschen der Aufnahme fehlgeschlagen, aufgezeichnete Datei ist nicht vorhanden" msgctxt "#30008" msgid "Recording file not found" msgstr "Aufzeichnungsdatei nicht gefunden" msgctxt "#30009" msgid "Alternate channel chosen: " msgstr "Alternativer Sender ausgewählt:" msgctxt "#30010" msgid "Alternate time chosen: " msgstr "Alternative Zeit ausgewählt:" msgctxt "#30011" msgid "Can't start, tuner is no longer available" msgstr "Kann nicht starten, Tuner ist nicht mehr verfügbar" msgctxt "#30012" msgid "Channel content is protected" msgstr "Senderinhalt ist geschützt" msgctxt "#30013" msgid "End time increased by " msgstr "Endzeit erhöhte sich um" msgctxt "#30014" msgid "Enable SignalStatus calls" msgstr "SignalStatus-Aufruf aktivieren" msgctxt "#30015" msgid "Refresh SignalStatus Interval (sec)" msgstr "SignalStatus-Intervall (Sek) aktualisieren" msgctxt "#30016" msgid "Store Resume/Watched status on server" msgstr "Fortsetzen/Angeschaut-Status auf Server speichern" msgctxt "#30017" msgid "Recorded TV folder not found" msgstr "TV-Aufzeichnungsordner nicht gefunden" msgctxt "#30018" msgid "Recorded TV folder cannot be opened" msgstr "TV-Aufzeichnungsordner kann nicht geöffnet werden" msgctxt "#30019" msgid "ServerWMC version update is available (%s)" msgstr "ServerWMC Versionsaktualisierung ist verfügbar (%s)" msgctxt "#30020" msgid "All tuners for this channel are busy" msgstr "Alle Tuner für diesen Kanal sind belegt" msgctxt "#30021" msgid "LiveTV timed-out" msgstr "Zeitüberschreitung beim Live-TV" msgctxt "#30022" msgid "LiveTV error, exited early" msgstr "LiveTV-Fehler, vorzeitig beendet" msgctxt "#30023" msgid "Recording stream timed-out" msgstr "Zeitüberschreitung beim aufgezeichneten Stream" msgctxt "#30024" msgid "Recording stream exited early" msgstr "Stream-Aufnahme vorzeitig beendet" msgctxt "#30025" msgid "Use WakeOnLAN to wake up server" msgstr "WakeOnLAN verwenden, um den Server aufzuwecken" msgctxt "#30026" msgid "Sending WakeOnLAN to server..." msgstr "WakeOnLAN wird an Server gesendet..." msgctxt "#30027" msgid "Time drift between client and backend of %s minutes" msgstr "Zeitabweichung von %s Minuten zwischen Client und Backend" msgctxt "#30100" msgid "Recording Preference" msgstr "Aufzeichnungsvorlieben" msgctxt "#30101" msgid "Record this episode only" msgstr "Nur diese Folge aufnehmen" msgctxt "#30102" msgid "Record the series" msgstr "Die Serie aufnehmen" msgctxt "#30103" msgid "Show type:" msgstr "Sendungsart:" msgctxt "#30104" msgid "New and rerun" msgstr "Neu und wiederholt" msgctxt "#30105" msgid "New only" msgstr "Nur neue" msgctxt "#30106" msgid "Live only" msgstr "Nur Live" msgctxt "#30107" msgid "Channel:" msgstr "Kanal:" msgctxt "#30108" msgid "Any Channel" msgstr "Beliebiger Sender" msgctxt "#30110" msgid "Airtime:" msgstr "Sendezeit:" msgctxt "#30111" msgid "Anytime" msgstr "Jederzeit" msgctxt "#30120" msgid "Delete Timer" msgstr "Timer löschen" msgctxt "#30121" msgid "Delete this episode timer only" msgstr "Nur diesen Episodentimer löschen" msgctxt "#30122" msgid "Delete the entire series" msgstr "Die gesamte Serie löschen" msgctxt "#30130" msgid "Created by Repeating Timer" msgstr "Vom mehrmaligen Timer erzeugt" msgctxt "#30131" msgid "One time (manual)" msgstr "Einmalig (Manuell)" msgctxt "#30132" msgid "One time (guide)" msgstr "Einmalig (Guide)" msgctxt "#30133" msgid "One time (wishlist)" msgstr "Einmalig (Wunschliste)" msgctxt "#30134" msgid "Repeating (manual)" msgstr "Mehrmalig (Manuell)" msgctxt "#30135" msgid "Repeating (guide)" msgstr "Mehrmalig (Guide)" msgctxt "#30136" msgid "Repeating (wishlist)" msgstr "Mehrmalig (Wunschliste)" msgctxt "#30140" msgid "Normal" msgstr "Normal" msgctxt "#30141" msgid "High" msgstr "Hoch" msgctxt "#30142" msgid "Low" msgstr "Niedrig" msgctxt "#30150" msgid "New Episodes Only" msgstr "Nur neue Episoden" msgctxt "#30151" msgid "New and Rerun Episodes" msgstr "Neue und wiederholte Episoden" msgctxt "#30152" msgid "Live Only" msgstr "Nur Live" msgctxt "#30160" msgid "Not Set" msgstr "Nicht angewendet" msgctxt "#30161" msgid "Keep Latest Recordings" msgstr "Letzte Aufnahmen behalten" msgctxt "#30162" msgid "Keep Until I Watch" msgstr "Behalten bis angesehen" msgctxt "#30163" msgid "Keep Until Space Needed" msgstr "Behalten bis Speicherplatz benötigt" msgctxt "#30164" msgid "Keep Until I Delete" msgstr "Behalten bis gelöscht" msgctxt "#30165" msgid "Keep For 1 Week" msgstr "Für 1 Woche behalten" msgctxt "#30170" msgid "Keep As Many As Possible" msgstr "So viele wie möglich behalten" msgctxt "#30171" msgid "Keep 1 Recording" msgstr "1 Aufnahmen behalten" msgctxt "#30172" msgid "Keep 2 Recordings" msgstr "2 Aufnahmen behalten" msgctxt "#30173" msgid "Keep 3 Recordings" msgstr "3 Aufnahmen behalten" msgctxt "#30174" msgid "Keep 4 Recordings" msgstr "4 Aufnahmen behalten" msgctxt "#30175" msgid "Keep 5 Recordings" msgstr "5 Aufnahmen behalten" msgctxt "#30176" msgid "Keep 6 Recordings" msgstr "6 Aufnahmen behalten" msgctxt "#30177" msgid "Keep 7 Recordings" msgstr "7 Aufnahmen behalten" msgctxt "#30178" msgid "Keep 10 Recordings" msgstr "10 Aufnahmen behalten" pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.el_gr/000077500000000000000000000000001354134156400256655ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.el_gr/strings.po000066400000000000000000000140231354134156400277160ustar00rootroot00000000000000# Kodi Media Center language file # Addon Name: PVR WMC Client # Addon id: pvr.wmc # Addon Provider: KrustyReturns and scarecrow420 msgid "" msgstr "" "Project-Id-Version: KODI Main\n" "Report-Msgid-Bugs-To: https://github.com/xbmc/xbmc/issues/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Kodi Translation Team\n" "Language-Team: Greek (Greece) (http://www.transifex.com/projects/p/kodi-main/language/el_GR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: el_GR\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" msgctxt "#30000" msgid "Server Hostname or IP" msgstr "Όνομα Υπολογιστή ή διεύθυνση IP" msgctxt "#30001" msgid "Keep IP address to 127.0.0.1, if server is running on this same system" msgstr "Διατήρηση της διεύθυνσης IP 127.0.0.1, αν ο διακομιστής τρέχει στο ίδιο σύστημα" msgctxt "#30002" msgid "Port Number" msgstr "Αριθμός Θύρας" msgctxt "#30003" msgid "Stream timeout, unknown problem" msgstr "Λήξη χρονικού ορίου της ροής, άγνωστο πρόβλημα" msgctxt "#30004" msgid "No video data found on this channel" msgstr "Δε βρέθηκαν δεδομένα βίντεο σε αυτό το κανάλι" msgctxt "#30005" msgid "Tuner is needed for recording" msgstr "Απαιτείται δέκτης (tuner) για εγγραφή" msgctxt "#30006" msgid "Recording delete failed, file in use or write protected" msgstr "Αποτυχία διαγραφής της εγγραφής, το αρχείο είναι ανοικτό ή έχει προστασία" msgctxt "#30007" msgid "Recording delete failed, recorded file doesn't exist" msgstr "Αποτυχία διαγραφής της εγγραφής, το αρχείο δεν υπάρχει" msgctxt "#30008" msgid "Recording file not found" msgstr "Δε βρέθηκε η εγγραφή" msgctxt "#30009" msgid "Alternate channel chosen: " msgstr "Εναλλακτικό κανάλι:" msgctxt "#30010" msgid "Alternate time chosen: " msgstr "Εναλλακτικός χρόνος:" msgctxt "#30011" msgid "Can't start, tuner is no longer available" msgstr "Αδυναμία έναρξης, ο δέκτης δεν είναι διαθέσιμος" msgctxt "#30012" msgid "Channel content is protected" msgstr "Το περιεχόμενο του καναλιού έχει προστασία" msgctxt "#30013" msgid "End time increased by " msgstr "Ο χρόνος λήξης αυξήθηκε κατά" msgctxt "#30014" msgid "Enable SignalStatus calls" msgstr "Ενεργοποίηση κλήσεων SignalStatus" msgctxt "#30015" msgid "Refresh SignalStatus Interval (sec)" msgstr "Διάστημα Ανανέωσης του SignalStatus (δευτ)" msgctxt "#30016" msgid "Store Resume/Watched status on server" msgstr "Αποθήκευση Χρόνου Συνέχισης/Προβληθέντος στο διακομιστή" msgctxt "#30017" msgid "Recorded TV folder not found" msgstr "Δε βρέθηκε ο φάκελος εγγραφών TV" msgctxt "#30018" msgid "Recorded TV folder cannot be opened" msgstr "Δεν ανοίγει ο φάκελος εγγραφών TV" msgctxt "#30019" msgid "ServerWMC version update is available (%s)" msgstr "Είναι διαθέσιμη ενημέρωση του ServerWMC (%s)" msgctxt "#30020" msgid "All tuners for this channel are busy" msgstr "Όλοι οι δέκτες για αυτό το κανάλι είναι απασχολημένοι" msgctxt "#30021" msgid "LiveTV timed-out" msgstr "Λήξη χρονικού ορίου της LiveTV" msgctxt "#30022" msgid "LiveTV error, exited early" msgstr "Σφάλμα της LiveTV, πρόωρη έξοδος" msgctxt "#30023" msgid "Recording stream timed-out" msgstr "Λήξη χρονικού ορίου της ροής εγγραφής" msgctxt "#30024" msgid "Recording stream exited early" msgstr "Πρόωρη έξοδος της ροής εγγραφής" msgctxt "#30025" msgid "Use WakeOnLAN to wake up server" msgstr "Χρήση WakeOnLAN για εκκίνηση του διακομιστή" msgctxt "#30026" msgid "Sending WakeOnLAN to server..." msgstr "Αποστολή σήματος WakeOnLAN στο διακομιστή..." msgctxt "#30027" msgid "Time drift between client and backend of %s minutes" msgstr "Η παρέκκλιση ώρας μεταξύ πελάτη και backend είναι %s λεπτά" msgctxt "#30100" msgid "Recording Preference" msgstr "Προτίμηση Εγγραφής" msgctxt "#30101" msgid "Record this episode only" msgstr "Εγγραφή μόνο αυτού του επεισοδίου" msgctxt "#30102" msgid "Record the series" msgstr "Εγγραφή της σειράς" msgctxt "#30103" msgid "Show type:" msgstr "Τύπος:" msgctxt "#30104" msgid "New and rerun" msgstr "Νέα και επαναλήψεις" msgctxt "#30105" msgid "New only" msgstr "Μόνο νέα" msgctxt "#30106" msgid "Live only" msgstr "Μόνο ζωντανά" msgctxt "#30107" msgid "Channel:" msgstr "Κανάλι:" msgctxt "#30108" msgid "Any Channel" msgstr "Κάθε Κανάλι" msgctxt "#30110" msgid "Airtime:" msgstr "Ώρα προβολής:" msgctxt "#30111" msgid "Anytime" msgstr "Κάθε φορά" msgctxt "#30120" msgid "Delete Timer" msgstr "Διαγραφή Χρονοδιακόπτη" msgctxt "#30121" msgid "Delete this episode timer only" msgstr "Διαγραφή του χρονοδιακόπτη μόνο αυτού του επεισοδίου" msgctxt "#30122" msgid "Delete the entire series" msgstr "Διαγραφή όλης της σειράς" msgctxt "#30131" msgid "One time (manual)" msgstr "Μία φορά (χειροποίητα)" msgctxt "#30140" msgid "Normal" msgstr "Κανονική" msgctxt "#30141" msgid "High" msgstr "Υψηλά" msgctxt "#30142" msgid "Low" msgstr "Ελαχ." msgctxt "#30151" msgid "New and Rerun Episodes" msgstr "Καινούργια και επανάληψη επεισοδίων" pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.en_au/000077500000000000000000000000001354134156400256645ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.en_au/strings.po000066400000000000000000000107371354134156400277250ustar00rootroot00000000000000# Kodi Media Center language file # Addon Name: PVR WMC Client # Addon id: pvr.wmc # Addon Provider: KrustyReturns and scarecrow420 msgid "" msgstr "" "Project-Id-Version: KODI Main\n" "Report-Msgid-Bugs-To: https://github.com/xbmc/xbmc/issues/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Kodi Translation Team\n" "Language-Team: English (Australia) (http://www.transifex.com/projects/p/kodi-main/language/en_AU/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: en_AU\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" msgctxt "#30000" msgid "Server Hostname or IP" msgstr "Server Hostname or IP" msgctxt "#30001" msgid "Keep IP address to 127.0.0.1, if server is running on this same system" msgstr "Keep IP address to 127.0.0.1, if server is running on this same system" msgctxt "#30002" msgid "Port Number" msgstr "Port Number" msgctxt "#30003" msgid "Stream timeout, unknown problem" msgstr "Stream timeout, unknown problem" msgctxt "#30004" msgid "No video data found on this channel" msgstr "No video data found on this channel" msgctxt "#30005" msgid "Tuner is needed for recording" msgstr "Tuner is needed for recording" msgctxt "#30006" msgid "Recording delete failed, file in use or write protected" msgstr "Recording delete failed, file in use or write protected" msgctxt "#30007" msgid "Recording delete failed, recorded file doesn't exist" msgstr "Recording delete failed, recorded file doesn't exist" msgctxt "#30008" msgid "Recording file not found" msgstr "Recording file not found" msgctxt "#30009" msgid "Alternate channel chosen: " msgstr "Alternate channel chosen: " msgctxt "#30010" msgid "Alternate time chosen: " msgstr "Alternate time chosen: " msgctxt "#30011" msgid "Can't start, tuner is no longer available" msgstr "Can't start, tuner is no longer available" msgctxt "#30012" msgid "Channel content is protected" msgstr "Channel content is protected" msgctxt "#30013" msgid "End time increased by " msgstr "End time increased by " msgctxt "#30014" msgid "Enable SignalStatus calls" msgstr "Enable SignalStatus calls" msgctxt "#30015" msgid "Refresh SignalStatus Interval (sec)" msgstr "Refresh SignalStatus Interval (sec)" msgctxt "#30016" msgid "Store Resume/Watched status on server" msgstr "Store Resume/Watched status on server" msgctxt "#30017" msgid "Recorded TV folder not found" msgstr "Recorded TV folder not found" msgctxt "#30018" msgid "Recorded TV folder cannot be opened" msgstr "Recorded TV folder cannot be opened" msgctxt "#30019" msgid "ServerWMC version update is available (%s)" msgstr "ServerWMC version update is available (%s)" msgctxt "#30020" msgid "All tuners for this channel are busy" msgstr "All tuners for this channel are busy" msgctxt "#30021" msgid "LiveTV timed-out" msgstr "LiveTV timed-out" msgctxt "#30022" msgid "LiveTV error, exited early" msgstr "LiveTV error, exited early" msgctxt "#30023" msgid "Recording stream timed-out" msgstr "Recording stream timed-out" msgctxt "#30024" msgid "Recording stream exited early" msgstr "Recording stream exited early" msgctxt "#30025" msgid "Use WakeOnLAN to wake up server" msgstr "Use WakeOnLAN to wake up server" msgctxt "#30026" msgid "Sending WakeOnLAN to server..." msgstr "Sending WakeOnLAN to server..." msgctxt "#30027" msgid "Time drift between client and backend of %s minutes" msgstr "Time drift between client and backend of %s minutes" msgctxt "#30100" msgid "Recording Preference" msgstr "Recording Preference" msgctxt "#30101" msgid "Record this episode only" msgstr "Record this episode only" msgctxt "#30102" msgid "Record the series" msgstr "Record the series" msgctxt "#30103" msgid "Show type:" msgstr "Show type:" msgctxt "#30104" msgid "New and rerun" msgstr "New and rerun" msgctxt "#30105" msgid "New only" msgstr "New only" msgctxt "#30106" msgid "Live only" msgstr "Live only" msgctxt "#30107" msgid "Channel:" msgstr "Channel:" msgctxt "#30108" msgid "Any Channel" msgstr "Any Channel" msgctxt "#30110" msgid "Airtime:" msgstr "Airtime:" msgctxt "#30111" msgid "Anytime" msgstr "Anytime" msgctxt "#30120" msgid "Delete Timer" msgstr "Delete Timer" msgctxt "#30121" msgid "Delete this episode timer only" msgstr "Delete this episode timer only" msgctxt "#30122" msgid "Delete the entire series" msgstr "Delete the entire series" msgctxt "#30140" msgid "Normal" msgstr "Normal" msgctxt "#30141" msgid "High" msgstr "High" msgctxt "#30142" msgid "Low" msgstr "Low" pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.en_gb/000077500000000000000000000000001354134156400256475ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.en_gb/strings.po000066400000000000000000000120031354134156400276740ustar00rootroot00000000000000# Kodi Media Center language file # Addon Name: PVR WMC Client # Addon id: pvr.wmc # Addon Provider: KrustyReturns and scarecrow420 msgid "" msgstr "" "Project-Id-Version: KODI Main\n" "Report-Msgid-Bugs-To: https://github.com/xbmc/xbmc/issues/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Kodi Translation Team\n" "Language-Team: English (United Kingdom) (http://www.transifex.com/projects/p/kodi-main/language/en_GB/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: en_GB\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" msgctxt "#30000" msgid "Server Hostname or IP" msgstr "" msgctxt "#30001" msgid "Keep IP address to 127.0.0.1, if server is running on this same system" msgstr "" msgctxt "#30002" msgid "Port Number" msgstr "" msgctxt "#30003" msgid "Stream timeout, unknown problem" msgstr "" msgctxt "#30004" msgid "No video data found on this channel" msgstr "" msgctxt "#30005" msgid "Tuner is needed for recording" msgstr "" msgctxt "#30006" msgid "Recording delete failed, file in use or write protected" msgstr "" msgctxt "#30007" msgid "Recording delete failed, recorded file doesn't exist" msgstr "" msgctxt "#30008" msgid "Recording file not found" msgstr "" msgctxt "#30009" msgid "Alternate channel chosen: " msgstr "" msgctxt "#30010" msgid "Alternate time chosen: " msgstr "" msgctxt "#30011" msgid "Can't start, tuner is no longer available" msgstr "" msgctxt "#30012" msgid "Channel content is protected" msgstr "" msgctxt "#30013" msgid "End time increased by " msgstr "" msgctxt "#30014" msgid "Enable SignalStatus calls" msgstr "" msgctxt "#30015" msgid "Refresh SignalStatus Interval (sec)" msgstr "" msgctxt "#30016" msgid "Store Resume/Watched status on server" msgstr "" msgctxt "#30017" msgid "Recorded TV folder not found" msgstr "" msgctxt "#30018" msgid "Recorded TV folder cannot be opened" msgstr "" msgctxt "#30019" msgid "ServerWMC version update is available (%s)" msgstr "" msgctxt "#30020" msgid "All tuners for this channel are busy" msgstr "" msgctxt "#30021" msgid "LiveTV timed-out" msgstr "" msgctxt "#30022" msgid "LiveTV error, exited early" msgstr "" msgctxt "#30023" msgid "Recording stream timed-out" msgstr "" msgctxt "#30024" msgid "Recording stream exited early" msgstr "" msgctxt "#30025" msgid "Use WakeOnLAN to wake up server" msgstr "" msgctxt "#30026" msgid "Sending WakeOnLAN to server..." msgstr "" msgctxt "#30027" msgid "Time drift between client and backend of %s minutes" msgstr "" #empty strings from id 30028 to 30099 msgctxt "#30100" msgid "Recording Preference" msgstr "" msgctxt "#30101" msgid "Record this episode only" msgstr "" msgctxt "#30102" msgid "Record the series" msgstr "" msgctxt "#30103" msgid "Show type:" msgstr "" msgctxt "#30104" msgid "New and rerun" msgstr "" msgctxt "#30105" msgid "New only" msgstr "" msgctxt "#30106" msgid "Live only" msgstr "" msgctxt "#30107" msgid "Channel:" msgstr "" msgctxt "#30108" msgid "Any Channel" msgstr "" #empty string with id 30109 msgctxt "#30110" msgid "Airtime:" msgstr "" msgctxt "#30111" msgid "Anytime" msgstr "" #empty strings from id 30112 to 30119 msgctxt "#30120" msgid "Delete Timer" msgstr "" msgctxt "#30121" msgid "Delete this episode timer only" msgstr "" msgctxt "#30122" msgid "Delete the entire series" msgstr "" #empty strings from id 30123 to 30129 msgctxt "#30130" msgid "Created by Repeating Timer" msgstr "" msgctxt "#30131" msgid "One time (manual)" msgstr "" msgctxt "#30132" msgid "One time (guide)" msgstr "" msgctxt "#30133" msgid "One time (wishlist)" msgstr "" msgctxt "#30134" msgid "Repeating (manual)" msgstr "" msgctxt "#30135" msgid "Repeating (guide)" msgstr "" msgctxt "#30136" msgid "Repeating (wishlist)" msgstr "" #empty strings from id 30137 to 30139 msgctxt "#30140" msgid "Normal" msgstr "" msgctxt "#30141" msgid "High" msgstr "" msgctxt "#30142" msgid "Low" msgstr "" #empty strings from id 30143 to 30149 msgctxt "#30150" msgid "New Episodes Only" msgstr "" msgctxt "#30151" msgid "New and Rerun Episodes" msgstr "" msgctxt "#30152" msgid "Live Only" msgstr "" #empty strings from id 30153 to 30159 msgctxt "#30160" msgid "Not Set" msgstr "" msgctxt "#30161" msgid "Keep Latest Recordings" msgstr "" msgctxt "#30162" msgid "Keep Until I Watch" msgstr "" msgctxt "#30163" msgid "Keep Until Space Needed" msgstr "" msgctxt "#30164" msgid "Keep Until I Delete" msgstr "" msgctxt "#30165" msgid "Keep For 1 Week" msgstr "" #empty strings from id 30166 to 30169 msgctxt "#30170" msgid "Keep As Many As Possible" msgstr "" msgctxt "#30171" msgid "Keep 1 Recording" msgstr "" msgctxt "#30172" msgid "Keep 2 Recordings" msgstr "" msgctxt "#30173" msgid "Keep 3 Recordings" msgstr "" msgctxt "#30174" msgid "Keep 4 Recordings" msgstr "" msgctxt "#30175" msgid "Keep 5 Recordings" msgstr "" msgctxt "#30176" msgid "Keep 6 Recordings" msgstr "" msgctxt "#30177" msgid "Keep 7 Recordings" msgstr "" msgctxt "#30178" msgid "Keep 10 Recordings" msgstr "" pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.en_nz/000077500000000000000000000000001354134156400257065ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.en_nz/strings.po000066400000000000000000000143701354134156400277440ustar00rootroot00000000000000# Kodi Media Center language file # Addon Name: PVR WMC Client # Addon id: pvr.wmc # Addon Provider: KrustyReturns and scarecrow420 msgid "" msgstr "" "Project-Id-Version: KODI Main\n" "Report-Msgid-Bugs-To: https://github.com/xbmc/xbmc/issues/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Kodi Translation Team\n" "Language-Team: English (New Zealand) (http://www.transifex.com/projects/p/kodi-main/language/en_NZ/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: en_NZ\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" msgctxt "#30000" msgid "Server Hostname or IP" msgstr "Server Hostname or IP" msgctxt "#30001" msgid "Keep IP address to 127.0.0.1, if server is running on this same system" msgstr "Keep IP address to 127.0.0.1, if server is running on this same system" msgctxt "#30002" msgid "Port Number" msgstr "Port Number" msgctxt "#30003" msgid "Stream timeout, unknown problem" msgstr "Stream timeout, unknown problem" msgctxt "#30004" msgid "No video data found on this channel" msgstr "No video data found on this channel" msgctxt "#30005" msgid "Tuner is needed for recording" msgstr "Tuner is needed for recording" msgctxt "#30006" msgid "Recording delete failed, file in use or write protected" msgstr "Recording delete failed, file in use or write protected" msgctxt "#30007" msgid "Recording delete failed, recorded file doesn't exist" msgstr "Recording delete failed, recorded file doesn't exist" msgctxt "#30008" msgid "Recording file not found" msgstr "Recording file not found" msgctxt "#30009" msgid "Alternate channel chosen: " msgstr "Alternate channel chosen: " msgctxt "#30010" msgid "Alternate time chosen: " msgstr "Alternate time chosen: " msgctxt "#30011" msgid "Can't start, tuner is no longer available" msgstr "Can't start, tuner is no longer available" msgctxt "#30012" msgid "Channel content is protected" msgstr "Channel content is protected" msgctxt "#30013" msgid "End time increased by " msgstr "End time increased by " msgctxt "#30014" msgid "Enable SignalStatus calls" msgstr "Enable SignalStatus calls" msgctxt "#30015" msgid "Refresh SignalStatus Interval (sec)" msgstr "Refresh SignalStatus Interval (sec)" msgctxt "#30016" msgid "Store Resume/Watched status on server" msgstr "Store Resume/Watched status on server" msgctxt "#30017" msgid "Recorded TV folder not found" msgstr "Recorded TV folder not found" msgctxt "#30018" msgid "Recorded TV folder cannot be opened" msgstr "Recorded TV folder cannot be opened" msgctxt "#30019" msgid "ServerWMC version update is available (%s)" msgstr "ServerWMC version update is available (%s)" msgctxt "#30020" msgid "All tuners for this channel are busy" msgstr "All tuners for this channel are busy" msgctxt "#30021" msgid "LiveTV timed-out" msgstr "LiveTV timed-out" msgctxt "#30022" msgid "LiveTV error, exited early" msgstr "LiveTV error, exited early" msgctxt "#30023" msgid "Recording stream timed-out" msgstr "Recording stream timed-out" msgctxt "#30024" msgid "Recording stream exited early" msgstr "Recording stream exited early" msgctxt "#30025" msgid "Use WakeOnLAN to wake up server" msgstr "Use WakeOnLAN to wake up server" msgctxt "#30026" msgid "Sending WakeOnLAN to server..." msgstr "Sending WakeOnLAN to server..." msgctxt "#30027" msgid "Time drift between client and backend of %s minutes" msgstr "Time drift between client and backend of %s minutes" msgctxt "#30100" msgid "Recording Preference" msgstr "Recording Preference" msgctxt "#30101" msgid "Record this episode only" msgstr "Record this episode only" msgctxt "#30102" msgid "Record the series" msgstr "Record the series" msgctxt "#30103" msgid "Show type:" msgstr "Show type:" msgctxt "#30104" msgid "New and rerun" msgstr "New and rerun" msgctxt "#30105" msgid "New only" msgstr "New only" msgctxt "#30106" msgid "Live only" msgstr "Live only" msgctxt "#30107" msgid "Channel:" msgstr "Channel:" msgctxt "#30108" msgid "Any Channel" msgstr "Any Channel" msgctxt "#30110" msgid "Airtime:" msgstr "Airtime:" msgctxt "#30111" msgid "Anytime" msgstr "Anytime" msgctxt "#30120" msgid "Delete Timer" msgstr "Delete Timer" msgctxt "#30121" msgid "Delete this episode timer only" msgstr "Delete this episode timer only" msgctxt "#30122" msgid "Delete the entire series" msgstr "Delete the entire series" msgctxt "#30130" msgid "Created by Repeating Timer" msgstr "Created by Repeating Timer" msgctxt "#30131" msgid "One time (manual)" msgstr "One time (manual)" msgctxt "#30132" msgid "One time (guide)" msgstr "One time (guide)" msgctxt "#30133" msgid "One time (wishlist)" msgstr "One time (wishlist)" msgctxt "#30134" msgid "Repeating (manual)" msgstr "Repeating (manual)" msgctxt "#30135" msgid "Repeating (guide)" msgstr "Repeating (guide)" msgctxt "#30136" msgid "Repeating (wishlist)" msgstr "Repeating (wishlist)" msgctxt "#30140" msgid "Normal" msgstr "Normal" msgctxt "#30141" msgid "High" msgstr "High" msgctxt "#30142" msgid "Low" msgstr "Low" msgctxt "#30150" msgid "New Episodes Only" msgstr "New Episodes Only" msgctxt "#30151" msgid "New and Rerun Episodes" msgstr "New and Rerun Episodes" msgctxt "#30152" msgid "Live Only" msgstr "Live Only" msgctxt "#30160" msgid "Not Set" msgstr "Not Set" msgctxt "#30161" msgid "Keep Latest Recordings" msgstr "Keep Latest Recordings" msgctxt "#30162" msgid "Keep Until I Watch" msgstr "Keep Until I Watch" msgctxt "#30163" msgid "Keep Until Space Needed" msgstr "Keep Until Space Needed" msgctxt "#30164" msgid "Keep Until I Delete" msgstr "Keep Until I Delete" msgctxt "#30165" msgid "Keep For 1 Week" msgstr "Keep For 1 Week" msgctxt "#30170" msgid "Keep As Many As Possible" msgstr "Keep As Many As Possible" msgctxt "#30171" msgid "Keep 1 Recording" msgstr "Keep 1 Recording" msgctxt "#30172" msgid "Keep 2 Recordings" msgstr "Keep 2 Recordings" msgctxt "#30173" msgid "Keep 3 Recordings" msgstr "Keep 3 Recordings" msgctxt "#30174" msgid "Keep 4 Recordings" msgstr "Keep 4 Recordings" msgctxt "#30175" msgid "Keep 5 Recordings" msgstr "Keep 5 Recordings" msgctxt "#30176" msgid "Keep 6 Recordings" msgstr "Keep 6 Recordings" msgctxt "#30177" msgid "Keep 7 Recordings" msgstr "Keep 7 Recordings" msgctxt "#30178" msgid "Keep 10 Recordings" msgstr "Keep 10 Recordings" pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.en_us/000077500000000000000000000000001354134156400257065ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.en_us/strings.po000066400000000000000000000143721354134156400277460ustar00rootroot00000000000000# Kodi Media Center language file # Addon Name: PVR WMC Client # Addon id: pvr.wmc # Addon Provider: KrustyReturns and scarecrow420 msgid "" msgstr "" "Project-Id-Version: KODI Main\n" "Report-Msgid-Bugs-To: https://github.com/xbmc/xbmc/issues/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Kodi Translation Team\n" "Language-Team: English (United States) (http://www.transifex.com/projects/p/kodi-main/language/en_US/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: en_US\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" msgctxt "#30000" msgid "Server Hostname or IP" msgstr "Server Hostname or IP" msgctxt "#30001" msgid "Keep IP address to 127.0.0.1, if server is running on this same system" msgstr "Keep IP address to 127.0.0.1, if server is running on this same system" msgctxt "#30002" msgid "Port Number" msgstr "Port Number" msgctxt "#30003" msgid "Stream timeout, unknown problem" msgstr "Stream timeout, unknown problem" msgctxt "#30004" msgid "No video data found on this channel" msgstr "No video data found on this channel" msgctxt "#30005" msgid "Tuner is needed for recording" msgstr "Tuner is needed for recording" msgctxt "#30006" msgid "Recording delete failed, file in use or write protected" msgstr "Recording delete failed, file in use or write protected" msgctxt "#30007" msgid "Recording delete failed, recorded file doesn't exist" msgstr "Recording delete failed, recorded file doesn't exist" msgctxt "#30008" msgid "Recording file not found" msgstr "Recording file not found" msgctxt "#30009" msgid "Alternate channel chosen: " msgstr "Alternate channel chosen: " msgctxt "#30010" msgid "Alternate time chosen: " msgstr "Alternate time chosen: " msgctxt "#30011" msgid "Can't start, tuner is no longer available" msgstr "Can't start, tuner is no longer available" msgctxt "#30012" msgid "Channel content is protected" msgstr "Channel content is protected" msgctxt "#30013" msgid "End time increased by " msgstr "End time increased by " msgctxt "#30014" msgid "Enable SignalStatus calls" msgstr "Enable SignalStatus calls" msgctxt "#30015" msgid "Refresh SignalStatus Interval (sec)" msgstr "Refresh SignalStatus Interval (sec)" msgctxt "#30016" msgid "Store Resume/Watched status on server" msgstr "Store Resume/Watched status on server" msgctxt "#30017" msgid "Recorded TV folder not found" msgstr "Recorded TV folder not found" msgctxt "#30018" msgid "Recorded TV folder cannot be opened" msgstr "Recorded TV folder cannot be opened" msgctxt "#30019" msgid "ServerWMC version update is available (%s)" msgstr "ServerWMC version update is available (%s)" msgctxt "#30020" msgid "All tuners for this channel are busy" msgstr "All tuners for this channel are busy" msgctxt "#30021" msgid "LiveTV timed-out" msgstr "LiveTV timed-out" msgctxt "#30022" msgid "LiveTV error, exited early" msgstr "LiveTV error, exited early" msgctxt "#30023" msgid "Recording stream timed-out" msgstr "Recording stream timed-out" msgctxt "#30024" msgid "Recording stream exited early" msgstr "Recording stream exited early" msgctxt "#30025" msgid "Use WakeOnLAN to wake up server" msgstr "Use WakeOnLAN to wake up server" msgctxt "#30026" msgid "Sending WakeOnLAN to server..." msgstr "Sending WakeOnLAN to server..." msgctxt "#30027" msgid "Time drift between client and backend of %s minutes" msgstr "Time drift between client and backend of %s minutes" msgctxt "#30100" msgid "Recording Preference" msgstr "Recording Preference" msgctxt "#30101" msgid "Record this episode only" msgstr "Record this episode only" msgctxt "#30102" msgid "Record the series" msgstr "Record the series" msgctxt "#30103" msgid "Show type:" msgstr "Show type:" msgctxt "#30104" msgid "New and rerun" msgstr "New and rerun" msgctxt "#30105" msgid "New only" msgstr "New only" msgctxt "#30106" msgid "Live only" msgstr "Live only" msgctxt "#30107" msgid "Channel:" msgstr "Channel:" msgctxt "#30108" msgid "Any Channel" msgstr "Any Channel" msgctxt "#30110" msgid "Airtime:" msgstr "Airtime:" msgctxt "#30111" msgid "Anytime" msgstr "Anytime" msgctxt "#30120" msgid "Delete Timer" msgstr "Delete Timer" msgctxt "#30121" msgid "Delete this episode timer only" msgstr "Delete this episode timer only" msgctxt "#30122" msgid "Delete the entire series" msgstr "Delete the entire series" msgctxt "#30130" msgid "Created by Repeating Timer" msgstr "Created by Repeating Timer" msgctxt "#30131" msgid "One time (manual)" msgstr "One time (manual)" msgctxt "#30132" msgid "One time (guide)" msgstr "One time (guide)" msgctxt "#30133" msgid "One time (wishlist)" msgstr "One time (wishlist)" msgctxt "#30134" msgid "Repeating (manual)" msgstr "Repeating (manual)" msgctxt "#30135" msgid "Repeating (guide)" msgstr "Repeating (guide)" msgctxt "#30136" msgid "Repeating (wishlist)" msgstr "Repeating (wishlist)" msgctxt "#30140" msgid "Normal" msgstr "Normal" msgctxt "#30141" msgid "High" msgstr "High" msgctxt "#30142" msgid "Low" msgstr "Low" msgctxt "#30150" msgid "New Episodes Only" msgstr "New Episodes Only" msgctxt "#30151" msgid "New and Rerun Episodes" msgstr "New and Rerun Episodes" msgctxt "#30152" msgid "Live Only" msgstr "Live Only" msgctxt "#30160" msgid "Not Set" msgstr "Not Set" msgctxt "#30161" msgid "Keep Latest Recordings" msgstr "Keep Latest Recordings" msgctxt "#30162" msgid "Keep Until I Watch" msgstr "Keep Until I Watch" msgctxt "#30163" msgid "Keep Until Space Needed" msgstr "Keep Until Space Needed" msgctxt "#30164" msgid "Keep Until I Delete" msgstr "Keep Until I Delete" msgctxt "#30165" msgid "Keep For 1 Week" msgstr "Keep For 1 Week" msgctxt "#30170" msgid "Keep As Many As Possible" msgstr "Keep As Many As Possible" msgctxt "#30171" msgid "Keep 1 Recording" msgstr "Keep 1 Recording" msgctxt "#30172" msgid "Keep 2 Recordings" msgstr "Keep 2 Recordings" msgctxt "#30173" msgid "Keep 3 Recordings" msgstr "Keep 3 Recordings" msgctxt "#30174" msgid "Keep 4 Recordings" msgstr "Keep 4 Recordings" msgctxt "#30175" msgid "Keep 5 Recordings" msgstr "Keep 5 Recordings" msgctxt "#30176" msgid "Keep 6 Recordings" msgstr "Keep 6 Recordings" msgctxt "#30177" msgid "Keep 7 Recordings" msgstr "Keep 7 Recordings" msgctxt "#30178" msgid "Keep 10 Recordings" msgstr "Keep 10 Recordings" pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.eo/000077500000000000000000000000001354134156400252005ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.eo/strings.po000066400000000000000000000014131354134156400272300ustar00rootroot00000000000000# Kodi Media Center language file # Addon Name: PVR WMC Client # Addon id: pvr.wmc # Addon Provider: KrustyReturns and scarecrow420 msgid "" msgstr "" "Project-Id-Version: KODI Main\n" "Report-Msgid-Bugs-To: https://github.com/xbmc/xbmc/issues/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Kodi Translation Team\n" "Language-Team: Esperanto (http://www.transifex.com/projects/p/kodi-main/language/eo/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: eo\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" msgctxt "#30140" msgid "Normal" msgstr "Normal" msgctxt "#30141" msgid "High" msgstr "Nobla" msgctxt "#30142" msgid "Low" msgstr "Malnobla" pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.es_ar/000077500000000000000000000000001354134156400256665ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.es_ar/strings.po000066400000000000000000000116051354134156400277220ustar00rootroot00000000000000# Kodi Media Center language file # Addon Name: PVR WMC Client # Addon id: pvr.wmc # Addon Provider: KrustyReturns and scarecrow420 msgid "" msgstr "" "Project-Id-Version: KODI Main\n" "Report-Msgid-Bugs-To: https://github.com/xbmc/xbmc/issues/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Kodi Translation Team\n" "Language-Team: Spanish (Argentina) (http://www.transifex.com/projects/p/kodi-main/language/es_AR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: es_AR\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" msgctxt "#30000" msgid "Server Hostname or IP" msgstr "IP o nombre del servidor" msgctxt "#30001" msgid "Keep IP address to 127.0.0.1, if server is running on this same system" msgstr "Mantener la dirección IP en 127.0.0.1 si el servidor se está ejecutando en esta misma máquina." msgctxt "#30002" msgid "Port Number" msgstr "Número de puerto" msgctxt "#30003" msgid "Stream timeout, unknown problem" msgstr "Tiempo de espera excedido para el stream, error desconocido." msgctxt "#30004" msgid "No video data found on this channel" msgstr "No se encontró video en este canal" msgctxt "#30005" msgid "Tuner is needed for recording" msgstr "Se necesita un sintonizador para grabar" msgctxt "#30006" msgid "Recording delete failed, file in use or write protected" msgstr "Error al borrar la grabación, el archivo puede estar en uso o protegido contra escritura" msgctxt "#30007" msgid "Recording delete failed, recorded file doesn't exist" msgstr "Error al borrar la grabación, el archivo no existe" msgctxt "#30008" msgid "Recording file not found" msgstr "Archivo de grabación no encontrado" msgctxt "#30009" msgid "Alternate channel chosen: " msgstr "Se eligió el canal alternativo:" msgctxt "#30010" msgid "Alternate time chosen: " msgstr "Se eligió el horario alternativo:" msgctxt "#30011" msgid "Can't start, tuner is no longer available" msgstr "No se puede iniciar, el sintonizador ya no está disponible" msgctxt "#30012" msgid "Channel content is protected" msgstr "El contenido del canal está protegido" msgctxt "#30013" msgid "End time increased by " msgstr "Horario de fin incrementado en" msgctxt "#30014" msgid "Enable SignalStatus calls" msgstr "Habilitar llamadas a SignalStatus" msgctxt "#30015" msgid "Refresh SignalStatus Interval (sec)" msgstr "Intervalo de refresco de SignalStatus (seg)" msgctxt "#30016" msgid "Store Resume/Watched status on server" msgstr "Guardar el estado visto/continuar viendo en el servidor" msgctxt "#30017" msgid "Recorded TV folder not found" msgstr "Carpeta de grabación de TV no encontrada" msgctxt "#30018" msgid "Recorded TV folder cannot be opened" msgstr "No se puede abrir la carpeta de grabación de TV" msgctxt "#30019" msgid "ServerWMC version update is available (%s)" msgstr "Una actualización para el servidor WMC está disponible (%s)" msgctxt "#30020" msgid "All tuners for this channel are busy" msgstr "Todos los sintonizador para este canal están en uso" msgctxt "#30021" msgid "LiveTV timed-out" msgstr "Tiempo de espera excedido para LiveTV" msgctxt "#30022" msgid "LiveTV error, exited early" msgstr "Error en LiveTV, se terminó antes" msgctxt "#30023" msgid "Recording stream timed-out" msgstr "Tiempo de espera excedido en stream de grabación" msgctxt "#30024" msgid "Recording stream exited early" msgstr "El stream de grabación finalizó antes" msgctxt "#30025" msgid "Use WakeOnLAN to wake up server" msgstr "Usar WakeOnLAN para activar el servidor" msgctxt "#30026" msgid "Sending WakeOnLAN to server..." msgstr "Enviando WakeOnLAN al servidor..." msgctxt "#30027" msgid "Time drift between client and backend of %s minutes" msgstr "Diferencia de hora entre cliente y backend de %s minutos" msgctxt "#30100" msgid "Recording Preference" msgstr "Preferencia de grabación" msgctxt "#30101" msgid "Record this episode only" msgstr "Grabar sólo este episodio" msgctxt "#30102" msgid "Record the series" msgstr "Grabar la serie" msgctxt "#30103" msgid "Show type:" msgstr "Tipo de programa:" msgctxt "#30104" msgid "New and rerun" msgstr "Nuevos y repetidos" msgctxt "#30105" msgid "New only" msgstr "Sólo nuevos" msgctxt "#30106" msgid "Live only" msgstr "Sólo en vivo" msgctxt "#30107" msgid "Channel:" msgstr "Canal:" msgctxt "#30108" msgid "Any Channel" msgstr "En cualquier canal" msgctxt "#30110" msgid "Airtime:" msgstr "Hora de inicio:" msgctxt "#30111" msgid "Anytime" msgstr "En cualquier horario" msgctxt "#30120" msgid "Delete Timer" msgstr "Eliminar temporizador" msgctxt "#30121" msgid "Delete this episode timer only" msgstr "Eliminar sólo el temporizador de este episodio" msgctxt "#30122" msgid "Delete the entire series" msgstr "Borrar la serie completa" msgctxt "#30140" msgid "Normal" msgstr "Normal" msgctxt "#30141" msgid "High" msgstr "Alta" msgctxt "#30142" msgid "Low" msgstr "Baja" pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.es_es/000077500000000000000000000000001354134156400256735ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.es_es/strings.po000066400000000000000000000153111354134156400277250ustar00rootroot00000000000000# Kodi Media Center language file # Addon Name: PVR WMC Client # Addon id: pvr.wmc # Addon Provider: KrustyReturns and scarecrow420 msgid "" msgstr "" "Project-Id-Version: KODI Main\n" "Report-Msgid-Bugs-To: https://github.com/xbmc/xbmc/issues/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Kodi Translation Team\n" "Language-Team: Spanish (Spain) (http://www.transifex.com/projects/p/kodi-main/language/es_ES/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: es_ES\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" msgctxt "#30000" msgid "Server Hostname or IP" msgstr "Nombre o IP del Servidor" msgctxt "#30001" msgid "Keep IP address to 127.0.0.1, if server is running on this same system" msgstr "Utiliza la IP 127.0.0.1 si el servidor esta corriendo en esta misma máquina." msgctxt "#30002" msgid "Port Number" msgstr "Puerto" msgctxt "#30003" msgid "Stream timeout, unknown problem" msgstr "Emisión fuera de tiempo. Problema desconocido" msgctxt "#30004" msgid "No video data found on this channel" msgstr "No encuentro datos de vídeo en este canal" msgctxt "#30005" msgid "Tuner is needed for recording" msgstr "Se necesita un sintonizador para grabar" msgctxt "#30006" msgid "Recording delete failed, file in use or write protected" msgstr "Fallo al borrar la grabación. El archivo esta en uso o protegido" msgctxt "#30007" msgid "Recording delete failed, recorded file doesn't exist" msgstr "Fallo al borrar la grabación. El archivo no existe" msgctxt "#30008" msgid "Recording file not found" msgstr "No encuentro archivo de grabación" msgctxt "#30009" msgid "Alternate channel chosen: " msgstr "Canal suplente elegido:" msgctxt "#30010" msgid "Alternate time chosen: " msgstr "Hora suplente elegida:" msgctxt "#30011" msgid "Can't start, tuner is no longer available" msgstr "No puedo empezar. El sintonizador ya no está disponible" msgctxt "#30012" msgid "Channel content is protected" msgstr "El contenido del canal esta protegido" msgctxt "#30013" msgid "End time increased by " msgstr "Hora de finalización aumentada" msgctxt "#30014" msgid "Enable SignalStatus calls" msgstr "Habilitar llamadas EstadoSeñal" msgctxt "#30015" msgid "Refresh SignalStatus Interval (sec)" msgstr "Intervalo de actualización de EstadoSeñal (seg)" msgctxt "#30016" msgid "Store Resume/Watched status on server" msgstr "Resume tienda / estado vistos en el servidor\n\nEstado de la tienda Resumen/Visto en el servidor" msgctxt "#30017" msgid "Recorded TV folder not found" msgstr "Carpeta de Grabaciones no encontrada" msgctxt "#30018" msgid "Recorded TV folder cannot be opened" msgstr "No se puede abrir la carpeta de Grabaciones" msgctxt "#30019" msgid "ServerWMC version update is available (%s)" msgstr "Actualización disponible de ServerWMC (%s)" msgctxt "#30020" msgid "All tuners for this channel are busy" msgstr "Todos los sintonizadores para este canal están ocupados" msgctxt "#30021" msgid "LiveTV timed-out" msgstr "LiveTV fuera de tiempo" msgctxt "#30022" msgid "LiveTV error, exited early" msgstr "Error en LiveTV. Salida repentina" msgctxt "#30023" msgid "Recording stream timed-out" msgstr "Grabación de emisión fuera de tiempo" msgctxt "#30024" msgid "Recording stream exited early" msgstr "Salida repentina grabando la emisión " msgctxt "#30025" msgid "Use WakeOnLAN to wake up server" msgstr "Usar WakeOnLAN para encender el servidor" msgctxt "#30026" msgid "Sending WakeOnLAN to server..." msgstr "Eviando WakeOnLan al servidor..." msgctxt "#30027" msgid "Time drift between client and backend of %s minutes" msgstr "La demora de tiempo entre el cliente y el backend es de %s minutos" msgctxt "#30100" msgid "Recording Preference" msgstr "Preferencia de Grabación" msgctxt "#30101" msgid "Record this episode only" msgstr "Grabar sólo este episodio" msgctxt "#30102" msgid "Record the series" msgstr "Grabar la serie" msgctxt "#30103" msgid "Show type:" msgstr "Tipo de programa:" msgctxt "#30104" msgid "New and rerun" msgstr "Nuevos y re-emitidos" msgctxt "#30105" msgid "New only" msgstr "Sólo nuevos" msgctxt "#30106" msgid "Live only" msgstr "Sólo en directo" msgctxt "#30107" msgid "Channel:" msgstr "Canal:" msgctxt "#30108" msgid "Any Channel" msgstr "Cualquier canal" msgctxt "#30110" msgid "Airtime:" msgstr "Hora de emisión:" msgctxt "#30111" msgid "Anytime" msgstr "Cualquier hora" msgctxt "#30120" msgid "Delete Timer" msgstr "Eliminar programación" msgctxt "#30121" msgid "Delete this episode timer only" msgstr "Borrar sólo la programación de este episodio" msgctxt "#30122" msgid "Delete the entire series" msgstr "Borrar toda la serie" msgctxt "#30130" msgid "Created by Repeating Timer" msgstr "Creado por Repetición del Temporizador" msgctxt "#30131" msgid "One time (manual)" msgstr "Una vez (manual)" msgctxt "#30132" msgid "One time (guide)" msgstr "Una vez (Guía)" msgctxt "#30133" msgid "One time (wishlist)" msgstr "Una vez (Lista de deseos)" msgctxt "#30134" msgid "Repeating (manual)" msgstr "Repetición (Manual)" msgctxt "#30135" msgid "Repeating (guide)" msgstr "Repetición (Guía)" msgctxt "#30136" msgid "Repeating (wishlist)" msgstr "Repetición (Lista de deseos)" msgctxt "#30140" msgid "Normal" msgstr "Normal" msgctxt "#30141" msgid "High" msgstr "Alta" msgctxt "#30142" msgid "Low" msgstr "Baja" msgctxt "#30150" msgid "New Episodes Only" msgstr "Sólo episodios nuevos" msgctxt "#30151" msgid "New and Rerun Episodes" msgstr "Episodios nuevos y re-emitidos" msgctxt "#30152" msgid "Live Only" msgstr "Sólo en directo" msgctxt "#30160" msgid "Not Set" msgstr "No fijado" msgctxt "#30161" msgid "Keep Latest Recordings" msgstr "Mantener las últimas grabaciones" msgctxt "#30162" msgid "Keep Until I Watch" msgstr "Mantener hasta que lo vea" msgctxt "#30163" msgid "Keep Until Space Needed" msgstr "Mantener hasta que necesite espacio" msgctxt "#30164" msgid "Keep Until I Delete" msgstr "Mantener hasta que lo borre" msgctxt "#30165" msgid "Keep For 1 Week" msgstr "Mantener 1 semana" msgctxt "#30170" msgid "Keep As Many As Possible" msgstr "Mantener tanto como sea posible" msgctxt "#30171" msgid "Keep 1 Recording" msgstr "Mantener 1 grabación" msgctxt "#30172" msgid "Keep 2 Recordings" msgstr "Mantener 2 grabaciones" msgctxt "#30173" msgid "Keep 3 Recordings" msgstr "Mantener 3 grabaciones" msgctxt "#30174" msgid "Keep 4 Recordings" msgstr "Mantener 4 grabaciones" msgctxt "#30175" msgid "Keep 5 Recordings" msgstr "Mantener 5 grabaciones" msgctxt "#30176" msgid "Keep 6 Recordings" msgstr "Mantener 6 grabaciones" msgctxt "#30177" msgid "Keep 7 Recordings" msgstr "Mantener 7 grabaciones" msgctxt "#30178" msgid "Keep 10 Recordings" msgstr "Mantener 10 grabaciones" pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.es_mx/000077500000000000000000000000001354134156400257105ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.es_mx/strings.po000066400000000000000000000154071354134156400277500ustar00rootroot00000000000000# Kodi Media Center language file # Addon Name: PVR WMC Client # Addon id: pvr.wmc # Addon Provider: KrustyReturns and scarecrow420 msgid "" msgstr "" "Project-Id-Version: KODI Main\n" "Report-Msgid-Bugs-To: https://github.com/xbmc/xbmc/issues/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Kodi Translation Team\n" "Language-Team: Spanish (Mexico) (http://www.transifex.com/projects/p/kodi-main/language/es_MX/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: es_MX\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" msgctxt "#30000" msgid "Server Hostname or IP" msgstr "Nombre del Servidor o IP" msgctxt "#30001" msgid "Keep IP address to 127.0.0.1, if server is running on this same system" msgstr "Mantener la IP en 127.0.0.1, si el servidor esta funcionando en este mismo sistema" msgctxt "#30002" msgid "Port Number" msgstr "Numero de Puerto" msgctxt "#30003" msgid "Stream timeout, unknown problem" msgstr "Tiempo de espera de la transmisión, problema desconocido" msgctxt "#30004" msgid "No video data found on this channel" msgstr "No se encontraron datos de video en este canal " msgctxt "#30005" msgid "Tuner is needed for recording" msgstr "Es nescesario un sintonizador para grabar" msgctxt "#30006" msgid "Recording delete failed, file in use or write protected" msgstr "Fallo la eliminacion de la grabacion, el archivo esta en uso o esta protegido contra escritura" msgctxt "#30007" msgid "Recording delete failed, recorded file doesn't exist" msgstr "Fallo la eliminacion de la grabacion, el archivo grabado no existe" msgctxt "#30008" msgid "Recording file not found" msgstr "Archivo de grabacion no encontrado" msgctxt "#30009" msgid "Alternate channel chosen: " msgstr "Canal alterno elegido:" msgctxt "#30010" msgid "Alternate time chosen: " msgstr "Tiempo alterno elegido:" msgctxt "#30011" msgid "Can't start, tuner is no longer available" msgstr "No se puede iniciar, el sintonizador ya no esta disponible" msgctxt "#30012" msgid "Channel content is protected" msgstr "El contenido del canal esta protegido" msgctxt "#30013" msgid "End time increased by " msgstr "El tiempo de finalización aumentó" msgctxt "#30014" msgid "Enable SignalStatus calls" msgstr "Habilitar llamadas de SignalStatus" msgctxt "#30015" msgid "Refresh SignalStatus Interval (sec)" msgstr "Actualizar el intervalo de SignalStatus (seg)" msgctxt "#30016" msgid "Store Resume/Watched status on server" msgstr "Almacenar estado reanudar/visto en el servidor" msgctxt "#30017" msgid "Recorded TV folder not found" msgstr "Carpeta de TV grabada no encontrada" msgctxt "#30018" msgid "Recorded TV folder cannot be opened" msgstr "No se puede abrir la carpeta de TV grabada" msgctxt "#30019" msgid "ServerWMC version update is available (%s)" msgstr "La actualización de la versión de ServerWMC está disponible (%s)" msgctxt "#30020" msgid "All tuners for this channel are busy" msgstr "Todos los sintonizadores de este canal están ocupados" msgctxt "#30021" msgid "LiveTV timed-out" msgstr "Tiempo de espera de LiveTV" msgctxt "#30022" msgid "LiveTV error, exited early" msgstr "Error de LiveTV, salió temprano" msgctxt "#30023" msgid "Recording stream timed-out" msgstr "Tiempo de espera agotado grabando la transmisión" msgctxt "#30024" msgid "Recording stream exited early" msgstr "La transmisión de grabación salió temprano" msgctxt "#30025" msgid "Use WakeOnLAN to wake up server" msgstr "Utilice WakeOnLAN para activar el servidor" msgctxt "#30026" msgid "Sending WakeOnLAN to server..." msgstr "Enviando WakeOnLAN al servidor ..." msgctxt "#30027" msgid "Time drift between client and backend of %s minutes" msgstr "Desviación de la hora entre el cliente y back-end de %s minutos" msgctxt "#30100" msgid "Recording Preference" msgstr "Preferencia de grabación" msgctxt "#30101" msgid "Record this episode only" msgstr "Grabar solo este episodio" msgctxt "#30102" msgid "Record the series" msgstr "Grabar la serie" msgctxt "#30103" msgid "Show type:" msgstr "Mostrar tipo:" msgctxt "#30104" msgid "New and rerun" msgstr "Nuevo y repetición" msgctxt "#30105" msgid "New only" msgstr "Solo nuevo" msgctxt "#30106" msgid "Live only" msgstr "Solo en vivo" msgctxt "#30107" msgid "Channel:" msgstr "Canal:" msgctxt "#30108" msgid "Any Channel" msgstr "Cualquier canal" msgctxt "#30110" msgid "Airtime:" msgstr "tiempo al aire:" msgctxt "#30111" msgid "Anytime" msgstr "Cualquier hora" msgctxt "#30120" msgid "Delete Timer" msgstr "Borrar temporizador" msgctxt "#30121" msgid "Delete this episode timer only" msgstr "Eliminar sólo este temporizador de episodios" msgctxt "#30122" msgid "Delete the entire series" msgstr "Eliminar serie completa" msgctxt "#30130" msgid "Created by Repeating Timer" msgstr "Creado por el temporizador de repetición" msgctxt "#30131" msgid "One time (manual)" msgstr "Una vez (manual)" msgctxt "#30132" msgid "One time (guide)" msgstr "Una vez (guía)" msgctxt "#30133" msgid "One time (wishlist)" msgstr "Una vez (lista de deseos)" msgctxt "#30134" msgid "Repeating (manual)" msgstr "Repetición (manual)" msgctxt "#30135" msgid "Repeating (guide)" msgstr "Repitiendo (guía)" msgctxt "#30136" msgid "Repeating (wishlist)" msgstr "Repetición (lista de deseos)" msgctxt "#30140" msgid "Normal" msgstr "Normal" msgctxt "#30141" msgid "High" msgstr "Alto" msgctxt "#30142" msgid "Low" msgstr "Bajo" msgctxt "#30150" msgid "New Episodes Only" msgstr "Sólo nuevos episodios" msgctxt "#30151" msgid "New and Rerun Episodes" msgstr "Episodios nuevos y de repetición" msgctxt "#30152" msgid "Live Only" msgstr "Solo en vivo" msgctxt "#30160" msgid "Not Set" msgstr "No establecido" msgctxt "#30161" msgid "Keep Latest Recordings" msgstr "Mantener últimas grabaciones" msgctxt "#30162" msgid "Keep Until I Watch" msgstr "Guarda hasta que yo vea" msgctxt "#30163" msgid "Keep Until Space Needed" msgstr "Manténgase hasta que se necesite espacio" msgctxt "#30164" msgid "Keep Until I Delete" msgstr "Mantener hasta borrar" msgctxt "#30165" msgid "Keep For 1 Week" msgstr "Mantenga por 1 semana" msgctxt "#30170" msgid "Keep As Many As Possible" msgstr "Guarda tanto como sea posible" msgctxt "#30171" msgid "Keep 1 Recording" msgstr "Mantener 1 Grabación" msgctxt "#30172" msgid "Keep 2 Recordings" msgstr "Mantener 2 Grabaciones" msgctxt "#30173" msgid "Keep 3 Recordings" msgstr "Mantener 3 Grabaciones" msgctxt "#30174" msgid "Keep 4 Recordings" msgstr "Mantener 4 Grabaciones" msgctxt "#30175" msgid "Keep 5 Recordings" msgstr "Mantener 5 Grabaciones" msgctxt "#30176" msgid "Keep 6 Recordings" msgstr "Mantener 6 Grabaciones" msgctxt "#30177" msgid "Keep 7 Recordings" msgstr "Mantener 7 Grabaciones" msgctxt "#30178" msgid "Keep 10 Recordings" msgstr "Mantener 10 Grabaciones" pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.et_ee/000077500000000000000000000000001354134156400256565ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.et_ee/strings.po000066400000000000000000000015161354134156400277120ustar00rootroot00000000000000# Kodi Media Center language file # Addon Name: PVR WMC Client # Addon id: pvr.wmc # Addon Provider: KrustyReturns and scarecrow420 msgid "" msgstr "" "Project-Id-Version: KODI Main\n" "Report-Msgid-Bugs-To: https://github.com/xbmc/xbmc/issues/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Kodi Translation Team\n" "Language-Team: Estonian (Estonia) (http://www.transifex.com/projects/p/kodi-main/language/et_EE/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: et_EE\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" msgctxt "#30107" msgid "Channel:" msgstr "Kanal:" msgctxt "#30140" msgid "Normal" msgstr "Normaalne" msgctxt "#30141" msgid "High" msgstr "Kõrge" msgctxt "#30142" msgid "Low" msgstr "Madal" pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.eu_es/000077500000000000000000000000001354134156400256755ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.eu_es/strings.po000066400000000000000000000020731354134156400277300ustar00rootroot00000000000000# Kodi Media Center language file # Addon Name: PVR WMC Client # Addon id: pvr.wmc # Addon Provider: KrustyReturns and scarecrow420 msgid "" msgstr "" "Project-Id-Version: KODI Main\n" "Report-Msgid-Bugs-To: https://github.com/xbmc/xbmc/issues/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Kodi Translation Team\n" "Language-Team: Basque (Spain) (http://www.transifex.com/projects/p/kodi-main/language/eu_ES/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: eu_ES\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" msgctxt "#30001" msgid "Keep IP address to 127.0.0.1, if server is running on this same system" msgstr "Mantendu 127.0.0.1 helbidea zerbitzaria zerbitzari berean baldin badago" msgctxt "#30002" msgid "Port Number" msgstr "Atakaren zenbakia" msgctxt "#30107" msgid "Channel:" msgstr "Katea:" msgctxt "#30140" msgid "Normal" msgstr "Arrunta" msgctxt "#30141" msgid "High" msgstr "Handia" msgctxt "#30142" msgid "Low" msgstr "Baxua" pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.fa_af/000077500000000000000000000000001354134156400256315ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.fa_af/strings.po000066400000000000000000000012761354134156400276700ustar00rootroot00000000000000# Kodi Media Center language file # Addon Name: PVR WMC Client # Addon id: pvr.wmc # Addon Provider: KrustyReturns and scarecrow420 msgid "" msgstr "" "Project-Id-Version: KODI Main\n" "Report-Msgid-Bugs-To: https://github.com/xbmc/xbmc/issues/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Kodi Translation Team\n" "Language-Team: Persian (Afghanistan) (http://www.transifex.com/projects/p/kodi-main/language/fa_AF/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: fa_AF\n" "Plural-Forms: nplurals=1; plural=0;\n" msgctxt "#30140" msgid "Normal" msgstr "نورمال" pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.fa_ir/000077500000000000000000000000001354134156400256555ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.fa_ir/strings.po000066400000000000000000000015121354134156400277050ustar00rootroot00000000000000# Kodi Media Center language file # Addon Name: PVR WMC Client # Addon id: pvr.wmc # Addon Provider: KrustyReturns and scarecrow420 msgid "" msgstr "" "Project-Id-Version: KODI Main\n" "Report-Msgid-Bugs-To: https://github.com/xbmc/xbmc/issues/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Kodi Translation Team\n" "Language-Team: Persian (Iran) (http://www.transifex.com/projects/p/kodi-main/language/fa_IR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: fa_IR\n" "Plural-Forms: nplurals=1; plural=0;\n" msgctxt "#30107" msgid "Channel:" msgstr "کانال:" msgctxt "#30140" msgid "Normal" msgstr "نرمال" msgctxt "#30141" msgid "High" msgstr "زیاد" msgctxt "#30142" msgid "Low" msgstr "کم" pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.fi_fi/000077500000000000000000000000001354134156400256515ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.fi_fi/strings.po000066400000000000000000000150721354134156400277070ustar00rootroot00000000000000# Kodi Media Center language file # Addon Name: PVR WMC Client # Addon id: pvr.wmc # Addon Provider: KrustyReturns and scarecrow420 msgid "" msgstr "" "Project-Id-Version: KODI Main\n" "Report-Msgid-Bugs-To: https://github.com/xbmc/xbmc/issues/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Kodi Translation Team\n" "Language-Team: Finnish (Finland) (http://www.transifex.com/projects/p/kodi-main/language/fi_FI/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: fi_FI\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" msgctxt "#30000" msgid "Server Hostname or IP" msgstr "Palvelimen isäntänimi tai IP-osoite" msgctxt "#30001" msgid "Keep IP address to 127.0.0.1, if server is running on this same system" msgstr "Pidä osoitteena 127.0.0.1, jos palvelinta ajetaan samassa järjestelmässä" msgctxt "#30002" msgid "Port Number" msgstr "Portin numero" msgctxt "#30003" msgid "Stream timeout, unknown problem" msgstr "Suoratoiston aikakatkaisu, tuntematon ongelma" msgctxt "#30004" msgid "No video data found on this channel" msgstr "Tästä kanavasta ei löydetty videotietoa" msgctxt "#30005" msgid "Tuner is needed for recording" msgstr "Tallentamiseen tarvitaan viritin" msgctxt "#30006" msgid "Recording delete failed, file in use or write protected" msgstr "Tallennuksen poisto epäonnistui, tiedosto on käytössä tai kirjoitussuojattu" msgctxt "#30007" msgid "Recording delete failed, recorded file doesn't exist" msgstr "Tallennuksen poisto epäonnistui, tiedostoa ei ole olemassa" msgctxt "#30008" msgid "Recording file not found" msgstr "Tallennustiedostoa ei löytynyt" msgctxt "#30009" msgid "Alternate channel chosen: " msgstr "Vaihtoehtoinen kanava valittu:" msgctxt "#30010" msgid "Alternate time chosen: " msgstr "Vaihtoehtoinen aika valittu:" msgctxt "#30011" msgid "Can't start, tuner is no longer available" msgstr "Ei voida aloittaa, viritin ei ole enää käytettävissä" msgctxt "#30012" msgid "Channel content is protected" msgstr "Kanavan sisältö on suojattu" msgctxt "#30013" msgid "End time increased by " msgstr "Lopetusaikaa laajennettu" msgctxt "#30014" msgid "Enable SignalStatus calls" msgstr "Ota käyttöön SignalStatus-kutsut" msgctxt "#30015" msgid "Refresh SignalStatus Interval (sec)" msgstr "SignalStatuksen päivitysväli (sek)" msgctxt "#30016" msgid "Store Resume/Watched status on server" msgstr "Tallenna Jatka/katsottu -tila palvelimelle" msgctxt "#30017" msgid "Recorded TV folder not found" msgstr "Tv-ohjelmien tallennuskansiota ei löytynyt" msgctxt "#30018" msgid "Recorded TV folder cannot be opened" msgstr "Tv-ohjelmien tallennuskansiota ei voida avata" msgctxt "#30019" msgid "ServerWMC version update is available (%s)" msgstr "ServerWMC:n versiopäivitys on saatavilla (%s)" msgctxt "#30020" msgid "All tuners for this channel are busy" msgstr "Kaikki virittimet tälle kanavalle on varattuja" msgctxt "#30021" msgid "LiveTV timed-out" msgstr "Tv-lähetyksen aikakatkaisu" msgctxt "#30022" msgid "LiveTV error, exited early" msgstr "Virhe tv-lähetystä toistettaessa, lopetettiin etuajassa" msgctxt "#30023" msgid "Recording stream timed-out" msgstr "Tallennuksen aikakatkaisu" msgctxt "#30024" msgid "Recording stream exited early" msgstr "Tallennus keskeytyi ennenaikaisesti" msgctxt "#30025" msgid "Use WakeOnLAN to wake up server" msgstr "Herätä palvelin WakeOnLAN-komennolla" msgctxt "#30026" msgid "Sending WakeOnLAN to server..." msgstr "Lähetetään WakeOnLan palvelimelle..." msgctxt "#30027" msgid "Time drift between client and backend of %s minutes" msgstr "Asiakasohjelman ja taustaosan välinen aikaero %s minuuttia" msgctxt "#30100" msgid "Recording Preference" msgstr "Tallennusasetukset" msgctxt "#30101" msgid "Record this episode only" msgstr "Tallenna vain tämä jakso" msgctxt "#30102" msgid "Record the series" msgstr "Tallenna sarja" msgctxt "#30103" msgid "Show type:" msgstr "Ohjelmatyyppi:" msgctxt "#30104" msgid "New and rerun" msgstr "Uusi ja uusinta" msgctxt "#30105" msgid "New only" msgstr "Vain uudet" msgctxt "#30106" msgid "Live only" msgstr "Vain live" msgctxt "#30107" msgid "Channel:" msgstr "Kanava:" msgctxt "#30108" msgid "Any Channel" msgstr "Mikä tahansa kanava" msgctxt "#30110" msgid "Airtime:" msgstr "Esitysaika:" msgctxt "#30111" msgid "Anytime" msgstr "Milloin tahansa" msgctxt "#30120" msgid "Delete Timer" msgstr "Poista ajastus" msgctxt "#30121" msgid "Delete this episode timer only" msgstr "Poista vain tämän jakson ajastus" msgctxt "#30122" msgid "Delete the entire series" msgstr "Poista koko sarja" msgctxt "#30130" msgid "Created by Repeating Timer" msgstr "Luotu toistuvalla ajastuksella" msgctxt "#30131" msgid "One time (manual)" msgstr "Kerran (manuaalinen)" msgctxt "#30132" msgid "One time (guide)" msgstr "Kerran (opas)" msgctxt "#30133" msgid "One time (wishlist)" msgstr "Kerran (toivelista)" msgctxt "#30134" msgid "Repeating (manual)" msgstr "Toistuva (manuaalinen)" msgctxt "#30135" msgid "Repeating (guide)" msgstr "Toistuva (opas)" msgctxt "#30136" msgid "Repeating (wishlist)" msgstr "Toistuva (toivelista)" msgctxt "#30140" msgid "Normal" msgstr "Normaali" msgctxt "#30141" msgid "High" msgstr "Ylin" msgctxt "#30142" msgid "Low" msgstr "Alin" msgctxt "#30150" msgid "New Episodes Only" msgstr "Vain uudet jaksot" msgctxt "#30151" msgid "New and Rerun Episodes" msgstr "Uudet jaksot ja uusinnat" msgctxt "#30152" msgid "Live Only" msgstr "Vain live" msgctxt "#30160" msgid "Not Set" msgstr "Ei asetettu" msgctxt "#30161" msgid "Keep Latest Recordings" msgstr "Pidä uusimmat tallennukset" msgctxt "#30162" msgid "Keep Until I Watch" msgstr "Pidä kunnes katson" msgctxt "#30163" msgid "Keep Until Space Needed" msgstr "Pidä kunnes tarvetta lisätilalle" msgctxt "#30164" msgid "Keep Until I Delete" msgstr "Pidä kunnes poistan" msgctxt "#30165" msgid "Keep For 1 Week" msgstr "Pidä 1 viikon ajan" msgctxt "#30170" msgid "Keep As Many As Possible" msgstr "Pidä niin monta kuin mahdollista" msgctxt "#30171" msgid "Keep 1 Recording" msgstr "Pidä 1 tallennus" msgctxt "#30172" msgid "Keep 2 Recordings" msgstr "Pidä 2 tallennusta" msgctxt "#30173" msgid "Keep 3 Recordings" msgstr "Pidä 3 tallennusta" msgctxt "#30174" msgid "Keep 4 Recordings" msgstr "Pidä 4 tallennusta" msgctxt "#30175" msgid "Keep 5 Recordings" msgstr "Pidä 5 tallennusta" msgctxt "#30176" msgid "Keep 6 Recordings" msgstr "Pidä 6 tallennusta" msgctxt "#30177" msgid "Keep 7 Recordings" msgstr "Pidä 7 tallennusta" msgctxt "#30178" msgid "Keep 10 Recordings" msgstr "Pidä 10 tallennusta" pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.fo_fo/000077500000000000000000000000001354134156400256655ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.fo_fo/strings.po000066400000000000000000000015171354134156400277220ustar00rootroot00000000000000# Kodi Media Center language file # Addon Name: PVR WMC Client # Addon id: pvr.wmc # Addon Provider: KrustyReturns and scarecrow420 msgid "" msgstr "" "Project-Id-Version: KODI Main\n" "Report-Msgid-Bugs-To: https://github.com/xbmc/xbmc/issues/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Kodi Translation Team\n" "Language-Team: Faroese (Faroe Islands) (http://www.transifex.com/projects/p/kodi-main/language/fo_FO/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: fo_FO\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" msgctxt "#30107" msgid "Channel:" msgstr "Rás:" msgctxt "#30140" msgid "Normal" msgstr "Vanligt" msgctxt "#30141" msgid "High" msgstr "Høgt" msgctxt "#30142" msgid "Low" msgstr "Lágt" pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.fr_ca/000077500000000000000000000000001354134156400256475ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.fr_ca/strings.po000066400000000000000000000160771354134156400277130ustar00rootroot00000000000000# Kodi Media Center language file # Addon Name: PVR WMC Client # Addon id: pvr.wmc # Addon Provider: KrustyReturns and scarecrow420 msgid "" msgstr "" "Project-Id-Version: KODI Main\n" "Report-Msgid-Bugs-To: https://github.com/xbmc/xbmc/issues/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Kodi Translation Team\n" "Language-Team: French (Canada) (http://www.transifex.com/projects/p/kodi-main/language/fr_CA/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: fr_CA\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" msgctxt "#30000" msgid "Server Hostname or IP" msgstr "Nom d’hôte ou IP du serveur" msgctxt "#30001" msgid "Keep IP address to 127.0.0.1, if server is running on this same system" msgstr "Si le serveur tourne sur ce système, gardez l’adresse IP 127.0.0.1" msgctxt "#30002" msgid "Port Number" msgstr "Numéro de port" msgctxt "#30003" msgid "Stream timeout, unknown problem" msgstr "Temporisation du flux, problème inconnu" msgctxt "#30004" msgid "No video data found on this channel" msgstr "Aucunes données vidéo n’ont été trouvées sur cette chaîne" msgctxt "#30005" msgid "Tuner is needed for recording" msgstr "Un syntoniseur est nécessaire pour l’enregistrement" msgctxt "#30006" msgid "Recording delete failed, file in use or write protected" msgstr "Échec de suppression de l’enregistrement. Le fichier est utilisé ou protégé en écriture" msgctxt "#30007" msgid "Recording delete failed, recorded file doesn't exist" msgstr "Échec de suppression de l’enregistrement. Le fichier enregistré n’existe pas" msgctxt "#30008" msgid "Recording file not found" msgstr "Le fichier enregistré est introuvable" msgctxt "#30009" msgid "Alternate channel chosen: " msgstr "Chaîne alternative choisie :" msgctxt "#30010" msgid "Alternate time chosen: " msgstr "Heure alternative choisie :" msgctxt "#30011" msgid "Can't start, tuner is no longer available" msgstr "Démarrage impossible, le syntoniseur n’est plus disponible" msgctxt "#30012" msgid "Channel content is protected" msgstr "Le contenu de la chaîne est protégé" msgctxt "#30013" msgid "End time increased by " msgstr "Heure de fin augmentée de" msgctxt "#30014" msgid "Enable SignalStatus calls" msgstr "Activer les appels d’état du signal" msgctxt "#30015" msgid "Refresh SignalStatus Interval (sec)" msgstr "Rafraîchir les intervalles d’état du signal (sec)" msgctxt "#30016" msgid "Store Resume/Watched status on server" msgstr "Stocker l’état de reprise/de visionnement sur le serveur" msgctxt "#30017" msgid "Recorded TV folder not found" msgstr "Le dossier de la télé enregistrée est introuvable" msgctxt "#30018" msgid "Recorded TV folder cannot be opened" msgstr "Le dossier de la télé enregistrée ne peut pas être ouvert" msgctxt "#30019" msgid "ServerWMC version update is available (%s)" msgstr "Une mise à jour de version (%s) est proposée pour ServerWMC" msgctxt "#30020" msgid "All tuners for this channel are busy" msgstr "Tous les syntoniseurs sont occupés pour cette chaîne" msgctxt "#30021" msgid "LiveTV timed-out" msgstr "La télé en direct s’est interrompue" msgctxt "#30022" msgid "LiveTV error, exited early" msgstr "Erreur de la télé en direct, arrêt prématuré" msgctxt "#30023" msgid "Recording stream timed-out" msgstr "Le flux d’enregistrement s’est interrompu" msgctxt "#30024" msgid "Recording stream exited early" msgstr "Arrêt prématuré du flux d’enregistrement" msgctxt "#30025" msgid "Use WakeOnLAN to wake up server" msgstr "Utiliser le réveil par le réseau pour réveiller le serveur" msgctxt "#30026" msgid "Sending WakeOnLAN to server..." msgstr "Envoi du réveil par le réseau au serveur…" msgctxt "#30027" msgid "Time drift between client and backend of %s minutes" msgstr "Décalage temporel de %s minutes entre le client et la dorsale" msgctxt "#30100" msgid "Recording Preference" msgstr "Préférences d’enregistrement" msgctxt "#30101" msgid "Record this episode only" msgstr "N’enregistrer que cet épisode" msgctxt "#30102" msgid "Record the series" msgstr "Enregistrer la série" msgctxt "#30103" msgid "Show type:" msgstr "Type d’émissions :" msgctxt "#30104" msgid "New and rerun" msgstr "Nouvelles et rediffusions" msgctxt "#30105" msgid "New only" msgstr "Nouveaux seulement" msgctxt "#30106" msgid "Live only" msgstr "En direct seulement" msgctxt "#30107" msgid "Channel:" msgstr "Chaîne :" msgctxt "#30108" msgid "Any Channel" msgstr "N’importe quelle chaîne" msgctxt "#30110" msgid "Airtime:" msgstr "Heure de diffusion :" msgctxt "#30111" msgid "Anytime" msgstr "N’importe quand" msgctxt "#30120" msgid "Delete Timer" msgstr "Supprimer la minuterie" msgctxt "#30121" msgid "Delete this episode timer only" msgstr "Supprimer la minuterie de cet épisode seulement" msgctxt "#30122" msgid "Delete the entire series" msgstr "Supprimer toute la série" msgctxt "#30130" msgid "Created by Repeating Timer" msgstr "Créé par la minuterie de répétition" msgctxt "#30131" msgid "One time (manual)" msgstr "Une fois (manuel)" msgctxt "#30132" msgid "One time (guide)" msgstr "Une fois (guide)" msgctxt "#30133" msgid "One time (wishlist)" msgstr "Une fois (liste de souhaits)" msgctxt "#30134" msgid "Repeating (manual)" msgstr "Répétition (manuelle)" msgctxt "#30135" msgid "Repeating (guide)" msgstr "Répétition (guide)" msgctxt "#30136" msgid "Repeating (wishlist)" msgstr "Répétition (liste de souhaits)" msgctxt "#30140" msgid "Normal" msgstr "Normale" msgctxt "#30141" msgid "High" msgstr "Haute" msgctxt "#30142" msgid "Low" msgstr "Basse" msgctxt "#30150" msgid "New Episodes Only" msgstr "Seulement les nouveaux épisodes" msgctxt "#30151" msgid "New and Rerun Episodes" msgstr "Nouveaux épisodes et rediffusions" msgctxt "#30152" msgid "Live Only" msgstr "En direct seulement" msgctxt "#30160" msgid "Not Set" msgstr "Non défini" msgctxt "#30161" msgid "Keep Latest Recordings" msgstr "Garder les derniers enregistrements" msgctxt "#30162" msgid "Keep Until I Watch" msgstr "Garder jusqu’à ce que je le regarde" msgctxt "#30163" msgid "Keep Until Space Needed" msgstr "Garder jusqu’à ce que l’espace soit requis" msgctxt "#30164" msgid "Keep Until I Delete" msgstr "Garder jusqu’à ce que je le supprime" msgctxt "#30165" msgid "Keep For 1 Week" msgstr "Garder pendant 1 semaine" msgctxt "#30170" msgid "Keep As Many As Possible" msgstr "En garder autant que possible" msgctxt "#30171" msgid "Keep 1 Recording" msgstr "Garder 1 enregistrement" msgctxt "#30172" msgid "Keep 2 Recordings" msgstr "Garder 2 enregistrements" msgctxt "#30173" msgid "Keep 3 Recordings" msgstr "Garder 3 enregistrements" msgctxt "#30174" msgid "Keep 4 Recordings" msgstr "Garder 4 enregistrements" msgctxt "#30175" msgid "Keep 5 Recordings" msgstr "Garder 5 enregistrements" msgctxt "#30176" msgid "Keep 6 Recordings" msgstr "Garder 6 enregistrements" msgctxt "#30177" msgid "Keep 7 Recordings" msgstr "Garder 7 enregistrements" msgctxt "#30178" msgid "Keep 10 Recordings" msgstr "Garder 10 enregistrements" pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.fr_fr/000077500000000000000000000000001354134156400256735ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.fr_fr/strings.po000066400000000000000000000157611354134156400277360ustar00rootroot00000000000000# Kodi Media Center language file # Addon Name: PVR WMC Client # Addon id: pvr.wmc # Addon Provider: KrustyReturns and scarecrow420 msgid "" msgstr "" "Project-Id-Version: KODI Main\n" "Report-Msgid-Bugs-To: https://github.com/xbmc/xbmc/issues/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Kodi Translation Team\n" "Language-Team: French (France) (http://www.transifex.com/projects/p/kodi-main/language/fr_FR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: fr_FR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" msgctxt "#30000" msgid "Server Hostname or IP" msgstr "Nom du serveur ou adresse IP" msgctxt "#30001" msgid "Keep IP address to 127.0.0.1, if server is running on this same system" msgstr "Conserver l'adresse IP à 127.0.0.1, si le serveur est exécuté sur la même machine" msgctxt "#30002" msgid "Port Number" msgstr "Numéro de port" msgctxt "#30003" msgid "Stream timeout, unknown problem" msgstr "Temporisation dépassée pour le flux, problème inconnu" msgctxt "#30004" msgid "No video data found on this channel" msgstr "Pas de données vidéo trouvées sur cette chaîne" msgctxt "#30005" msgid "Tuner is needed for recording" msgstr "Un tuner est nécessaire pour enregistrer." msgctxt "#30006" msgid "Recording delete failed, file in use or write protected" msgstr "Suppression de l'enregistrement impossible, le fichier est actuellement utilisé ou protégé." msgctxt "#30007" msgid "Recording delete failed, recorded file doesn't exist" msgstr "Suppression de l'enregistrement impossible, le fichier enregistré n'existe plus." msgctxt "#30008" msgid "Recording file not found" msgstr "Le fichier d'enregistrement est introuvable." msgctxt "#30009" msgid "Alternate channel chosen: " msgstr "Chaîne alternative choisie :" msgctxt "#30010" msgid "Alternate time chosen: " msgstr "Autre temps choisi :" msgctxt "#30011" msgid "Can't start, tuner is no longer available" msgstr "Impossible de démarrer, le tuner n'est plus disponible." msgctxt "#30012" msgid "Channel content is protected" msgstr "Le contenu de cette chaîne est protégé." msgctxt "#30013" msgid "End time increased by " msgstr "Heure de fin augmentée de" msgctxt "#30014" msgid "Enable SignalStatus calls" msgstr "Autoriser les appels avec signature" msgctxt "#30015" msgid "Refresh SignalStatus Interval (sec)" msgstr "Intervalle de rafraîchissement de l'état du signal (s)" msgctxt "#30016" msgid "Store Resume/Watched status on server" msgstr "Stocker l'état Reprendre / Vu sur le serveur" msgctxt "#30017" msgid "Recorded TV folder not found" msgstr "Dossier des enregistrements TV non trouvé" msgctxt "#30018" msgid "Recorded TV folder cannot be opened" msgstr "Le dossier des enregistrements TV ne peut pas être ouvert." msgctxt "#30019" msgid "ServerWMC version update is available (%s)" msgstr "Une mise à jour du serveur WMC est disponible (%s)." msgctxt "#30020" msgid "All tuners for this channel are busy" msgstr "Tous les tuners pour cette chaîne sont occupés." msgctxt "#30021" msgid "LiveTV timed-out" msgstr "Délai dépassé de TV en direct" msgctxt "#30022" msgid "LiveTV error, exited early" msgstr "Erreur TV en direct, fin prématurée" msgctxt "#30023" msgid "Recording stream timed-out" msgstr "Délai d'enregistrement de flux dépassé" msgctxt "#30024" msgid "Recording stream exited early" msgstr "Fin prématurée de d'enregistrement de flux" msgctxt "#30025" msgid "Use WakeOnLAN to wake up server" msgstr "Utiliser le réveil à distance (WakeOnLAN) pour réveiller le serveur" msgctxt "#30026" msgid "Sending WakeOnLAN to server..." msgstr "Envoi de la commande de réveil (WakeOnLAN) au serveur…" msgctxt "#30027" msgid "Time drift between client and backend of %s minutes" msgstr "Différé de %s minute(s) entre l'heure du client et celle du serveur" msgctxt "#30100" msgid "Recording Preference" msgstr "Préférences d'enregistrements" msgctxt "#30101" msgid "Record this episode only" msgstr "Enregistrer cet épisode seulement" msgctxt "#30102" msgid "Record the series" msgstr "Enregistrer la série" msgctxt "#30103" msgid "Show type:" msgstr "Type :" msgctxt "#30104" msgid "New and rerun" msgstr "Nouveau et relancer" msgctxt "#30105" msgid "New only" msgstr "Nouveau seulement" msgctxt "#30106" msgid "Live only" msgstr "Qu'en direct" msgctxt "#30107" msgid "Channel:" msgstr "Chaîne :" msgctxt "#30108" msgid "Any Channel" msgstr "N'importe quelle chaîne" msgctxt "#30110" msgid "Airtime:" msgstr "Temps d'antenne :" msgctxt "#30111" msgid "Anytime" msgstr "À tout moment" msgctxt "#30120" msgid "Delete Timer" msgstr "Supprimer la programmation" msgctxt "#30121" msgid "Delete this episode timer only" msgstr "Supprimer la programmation de cet épisode uniquement" msgctxt "#30122" msgid "Delete the entire series" msgstr "Supprimer la série entière" msgctxt "#30130" msgid "Created by Repeating Timer" msgstr "Créée par programmation répétée" msgctxt "#30131" msgid "One time (manual)" msgstr "Unique (manuelle)" msgctxt "#30132" msgid "One time (guide)" msgstr "Unique (guide)" msgctxt "#30133" msgid "One time (wishlist)" msgstr "Unique (liste de souhait)" msgctxt "#30134" msgid "Repeating (manual)" msgstr "Répétée (manuelle)" msgctxt "#30135" msgid "Repeating (guide)" msgstr "Répétée (guide)" msgctxt "#30136" msgid "Repeating (wishlist)" msgstr "Répétition (liste de souhaits)" msgctxt "#30140" msgid "Normal" msgstr "Normal" msgctxt "#30141" msgid "High" msgstr "Haute" msgctxt "#30142" msgid "Low" msgstr "Basse" msgctxt "#30150" msgid "New Episodes Only" msgstr "Nouveaux épisodes seulement" msgctxt "#30151" msgid "New and Rerun Episodes" msgstr "Épisodes nouveaux et ressortis" msgctxt "#30152" msgid "Live Only" msgstr "En direct seulement" msgctxt "#30160" msgid "Not Set" msgstr "Non définie" msgctxt "#30161" msgid "Keep Latest Recordings" msgstr "Conserver les derniers enregistrements" msgctxt "#30162" msgid "Keep Until I Watch" msgstr "Conserver jusqu'à visualisation" msgctxt "#30163" msgid "Keep Until Space Needed" msgstr "Conserver jusqu'à manque d'espace" msgctxt "#30164" msgid "Keep Until I Delete" msgstr "Conserver jusqu'à suppression" msgctxt "#30165" msgid "Keep For 1 Week" msgstr "Conserver pendant 1 semaine" msgctxt "#30170" msgid "Keep As Many As Possible" msgstr "En conserver le plus possible" msgctxt "#30171" msgid "Keep 1 Recording" msgstr "Conserver 1 enregistrement" msgctxt "#30172" msgid "Keep 2 Recordings" msgstr "Conserver 2 enregistrements" msgctxt "#30173" msgid "Keep 3 Recordings" msgstr "Conserver 3 enregistrements" msgctxt "#30174" msgid "Keep 4 Recordings" msgstr "Conserver 4 enregistrements" msgctxt "#30175" msgid "Keep 5 Recordings" msgstr "Conserver 5 enregistrements" msgctxt "#30176" msgid "Keep 6 Recordings" msgstr "Conserver 6 enregistrements" msgctxt "#30177" msgid "Keep 7 Recordings" msgstr "Conserver 7 enregistrements" msgctxt "#30178" msgid "Keep 10 Recordings" msgstr "Conserver 10 enregistrements" pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.gl_es/000077500000000000000000000000001354134156400256665ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.gl_es/strings.po000066400000000000000000000153201354134156400277200ustar00rootroot00000000000000# Kodi Media Center language file # Addon Name: PVR WMC Client # Addon id: pvr.wmc # Addon Provider: KrustyReturns and scarecrow420 msgid "" msgstr "" "Project-Id-Version: KODI Main\n" "Report-Msgid-Bugs-To: https://github.com/xbmc/xbmc/issues/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Kodi Translation Team\n" "Language-Team: Galician (Spain) (http://www.transifex.com/projects/p/kodi-main/language/gl_ES/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: gl_ES\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" msgctxt "#30000" msgid "Server Hostname or IP" msgstr "Nome do Servidor ou IP" msgctxt "#30001" msgid "Keep IP address to 127.0.0.1, if server is running on this same system" msgstr "Se o servidor está a executarse no mesmo sistema, manter o enderezo IP no 127.0.0.1" msgctxt "#30002" msgid "Port Number" msgstr "Número de Porto" msgctxt "#30003" msgid "Stream timeout, unknown problem" msgstr "Tempo de espera do fluxo esgotado, problema descoñecido" msgctxt "#30004" msgid "No video data found on this channel" msgstr "Non se atoparon datos de vídeo nesta canle" msgctxt "#30005" msgid "Tuner is needed for recording" msgstr "É necesario ter un sintonizador para gravar" msgctxt "#30006" msgid "Recording delete failed, file in use or write protected" msgstr "Fallou a eliminación da gravación, ficheiro en uso ou protexido contra escritura" msgctxt "#30007" msgid "Recording delete failed, recorded file doesn't exist" msgstr "Fallou a eliminación da gravación, o ficheiro non existe" msgctxt "#30008" msgid "Recording file not found" msgstr "Non se atopou o ficheiro da gravación" msgctxt "#30009" msgid "Alternate channel chosen: " msgstr "Canle alternativo escollido:" msgctxt "#30010" msgid "Alternate time chosen: " msgstr "Hora alternativa escollida:" msgctxt "#30011" msgid "Can't start, tuner is no longer available" msgstr "Non se pode iniciar, sintonizador non dispoñíbel" msgctxt "#30012" msgid "Channel content is protected" msgstr "O contido da canle está protexido" msgctxt "#30013" msgid "End time increased by " msgstr "Hora de fin incrementada" msgctxt "#30014" msgid "Enable SignalStatus calls" msgstr "Activar as chamadas 'SignalStatus'" msgctxt "#30015" msgid "Refresh SignalStatus Interval (sec)" msgstr "Intervalo de actualización 'SignalStatus' (seg.)" msgctxt "#30016" msgid "Store Resume/Watched status on server" msgstr "Gardar os tempos de visionado no servidor" msgctxt "#30017" msgid "Recorded TV folder not found" msgstr "Non se atopou o cartafol para as gravacións de TV" msgctxt "#30018" msgid "Recorded TV folder cannot be opened" msgstr "Non se puido abrir o cartafol das gravacións de TV" msgctxt "#30019" msgid "ServerWMC version update is available (%s)" msgstr "Está dispoñíbel unha versión actualizada do ServerWMC (%s)" msgctxt "#30020" msgid "All tuners for this channel are busy" msgstr "Todos os sintonizadores desta canle están ocupados" msgctxt "#30021" msgid "LiveTV timed-out" msgstr "LiveTV esgotou o tempo de espera" msgctxt "#30022" msgid "LiveTV error, exited early" msgstr "Erro no LiveTV, saída repentina" msgctxt "#30023" msgid "Recording stream timed-out" msgstr "Tempo de espera na gravación do fluxo" msgctxt "#30024" msgid "Recording stream exited early" msgstr "Saída repentina da gravación" msgctxt "#30025" msgid "Use WakeOnLAN to wake up server" msgstr "Empregar WakeOnLAN para activar o servidor" msgctxt "#30026" msgid "Sending WakeOnLAN to server..." msgstr "Enviando WakeOnLAN ao servidor..." msgctxt "#30027" msgid "Time drift between client and backend of %s minutes" msgstr "Desvio de tempo entre o cliente e o motor de %s minutos" msgctxt "#30100" msgid "Recording Preference" msgstr "Axustes para as gravacións" msgctxt "#30101" msgid "Record this episode only" msgstr "Gravar só este episodio" msgctxt "#30102" msgid "Record the series" msgstr "Gravar a serie" msgctxt "#30103" msgid "Show type:" msgstr "Amosar o tipo:" msgctxt "#30104" msgid "New and rerun" msgstr "Estreas e reposicións" msgctxt "#30105" msgid "New only" msgstr "Só as estreas" msgctxt "#30106" msgid "Live only" msgstr "Só en directo" msgctxt "#30107" msgid "Channel:" msgstr "Canle:" msgctxt "#30108" msgid "Any Channel" msgstr "Calquera Canle" msgctxt "#30110" msgid "Airtime:" msgstr "Hora de emisión:" msgctxt "#30111" msgid "Anytime" msgstr "Calquera hora" msgctxt "#30120" msgid "Delete Timer" msgstr "Eliminar Temporizador" msgctxt "#30121" msgid "Delete this episode timer only" msgstr "Eliminar só temporizador deste episodio" msgctxt "#30122" msgid "Delete the entire series" msgstr "Eliminar todas as series" msgctxt "#30130" msgid "Created by Repeating Timer" msgstr "Creado por Temporizador Repetitivo" msgctxt "#30131" msgid "One time (manual)" msgstr "Unha vez (manual)" msgctxt "#30132" msgid "One time (guide)" msgstr "Unha vez (guía)" msgctxt "#30133" msgid "One time (wishlist)" msgstr "Unha vez (lista de desexos)" msgctxt "#30134" msgid "Repeating (manual)" msgstr "Repetición (manual)" msgctxt "#30135" msgid "Repeating (guide)" msgstr "Repetición (guía)" msgctxt "#30136" msgid "Repeating (wishlist)" msgstr "Repetición (lista de desexos)" msgctxt "#30140" msgid "Normal" msgstr "Normal" msgctxt "#30141" msgid "High" msgstr "Alta" msgctxt "#30142" msgid "Low" msgstr "Baixa" msgctxt "#30150" msgid "New Episodes Only" msgstr "Só novos episodios" msgctxt "#30151" msgid "New and Rerun Episodes" msgstr "Episodios Novos e Reposicións" msgctxt "#30152" msgid "Live Only" msgstr "Só en directo" msgctxt "#30160" msgid "Not Set" msgstr "Non Establecido" msgctxt "#30161" msgid "Keep Latest Recordings" msgstr "Manter as últimas gravacións" msgctxt "#30162" msgid "Keep Until I Watch" msgstr "Manter até que o vexa" msgctxt "#30163" msgid "Keep Until Space Needed" msgstr "Manter até que precise de espazo" msgctxt "#30164" msgid "Keep Until I Delete" msgstr "Manter até que eu os elimine" msgctxt "#30165" msgid "Keep For 1 Week" msgstr "Manter por 1 semana" msgctxt "#30170" msgid "Keep As Many As Possible" msgstr "Manter tantos como sexa posíbel" msgctxt "#30171" msgid "Keep 1 Recording" msgstr "Manter 1 gravación" msgctxt "#30172" msgid "Keep 2 Recordings" msgstr "Manter 2 gravacións" msgctxt "#30173" msgid "Keep 3 Recordings" msgstr "Manter 3 gravacións" msgctxt "#30174" msgid "Keep 4 Recordings" msgstr "Manter 4 gravacións" msgctxt "#30175" msgid "Keep 5 Recordings" msgstr "Manter 5 gravacións" msgctxt "#30176" msgid "Keep 6 Recordings" msgstr "Manter 6 gravacións" msgctxt "#30177" msgid "Keep 7 Recordings" msgstr "Manter 7 gravacións" msgctxt "#30178" msgid "Keep 10 Recordings" msgstr "Manter 10 gravacións" pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.he_il/000077500000000000000000000000001354134156400256555ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.he_il/strings.po000066400000000000000000000157301354134156400277140ustar00rootroot00000000000000# Kodi Media Center language file # Addon Name: PVR WMC Client # Addon id: pvr.wmc # Addon Provider: KrustyReturns and scarecrow420 msgid "" msgstr "" "Project-Id-Version: KODI Main\n" "Report-Msgid-Bugs-To: https://github.com/xbmc/xbmc/issues/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Kodi Translation Team\n" "Language-Team: Hebrew (Israel) (http://www.transifex.com/projects/p/kodi-main/language/he_IL/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: he_IL\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" msgctxt "#30000" msgid "Server Hostname or IP" msgstr "שם מארח או כתובת IP" msgctxt "#30001" msgid "Keep IP address to 127.0.0.1, if server is running on this same system" msgstr "יש להשאיר כתובת IP כ־127.0.0.1, אם השרת האחורי רץ על מערכת זו" msgctxt "#30002" msgid "Port Number" msgstr "פורט" msgctxt "#30003" msgid "Stream timeout, unknown problem" msgstr "ההזרמה נותקה, תקלה לא מוכרת" msgctxt "#30004" msgid "No video data found on this channel" msgstr "לא נמצאו נתוני וידאו בערוץ זה" msgctxt "#30005" msgid "Tuner is needed for recording" msgstr "המקלט נדרש להקלטה מתוזמנת" msgctxt "#30006" msgid "Recording delete failed, file in use or write protected" msgstr "מחיקת ההקלטה נכשלה, הקובץ בשימוש או מוגן מפני כתיבה" msgctxt "#30007" msgid "Recording delete failed, recorded file doesn't exist" msgstr "מחיקת ההקלטה נכשלה, קובץ ההקלטה לא קיים" msgctxt "#30008" msgid "Recording file not found" msgstr "קובץ הקלטה לא נמצא" msgctxt "#30009" msgid "Alternate channel chosen: " msgstr "ערוץ חלופי נבחר:" msgctxt "#30010" msgid "Alternate time chosen: " msgstr "זמן חלופי נבחר:" msgctxt "#30011" msgid "Can't start, tuner is no longer available" msgstr "לא ניתן להתחיל, המקלט אינו זמין עוד" msgctxt "#30012" msgid "Channel content is protected" msgstr "תוכן הערוץ מוגן" msgctxt "#30013" msgid "End time increased by " msgstr "זמן סיום הוארך ב־" msgctxt "#30014" msgid "Enable SignalStatus calls" msgstr "אפשר בדיקת מצב אות" msgctxt "#30015" msgid "Refresh SignalStatus Interval (sec)" msgstr "מרווח זמני עדכון מצב אות (שנ')" msgctxt "#30016" msgid "Store Resume/Watched status on server" msgstr "אחסן בשרת דגלי מצב המשך צפייה / נצפה" msgctxt "#30017" msgid "Recorded TV folder not found" msgstr "תיקיית הקלטות לא נמצאה" msgctxt "#30018" msgid "Recorded TV folder cannot be opened" msgstr "תיקיית הקלטות אינה נגישה" msgctxt "#30019" msgid "ServerWMC version update is available (%s)" msgstr "עדכון גרסת ServerWMC זמין (%s)" msgctxt "#30020" msgid "All tuners for this channel are busy" msgstr "כל המקלטים לערוץ זה תפוסים" msgctxt "#30021" msgid "LiveTV timed-out" msgstr "שידור חי נותק" msgctxt "#30022" msgid "LiveTV error, exited early" msgstr "שגיאת שידור חי, נעצר בפתאומית" msgctxt "#30023" msgid "Recording stream timed-out" msgstr "הזרמת הקלטה נותקה" msgctxt "#30024" msgid "Recording stream exited early" msgstr "הזרמת הקלטה נעצרה בפתאומיות" msgctxt "#30025" msgid "Use WakeOnLAN to wake up server" msgstr "הער שרת באמצעות WakeOnLAN" msgctxt "#30026" msgid "Sending WakeOnLAN to server..." msgstr "מעיר שרת באמצעות WakeOnLAN..." msgctxt "#30027" msgid "Time drift between client and backend of %s minutes" msgstr "היסט זמן בין לקוח לשרת אחורי בן %s דקות" msgctxt "#30100" msgid "Recording Preference" msgstr "העדפות הקלטה" msgctxt "#30101" msgid "Record this episode only" msgstr "הקלט פרק זה בלבד" msgctxt "#30102" msgid "Record the series" msgstr "הקלטת סדרה" msgctxt "#30103" msgid "Show type:" msgstr "סוג תכנית:" msgctxt "#30104" msgid "New and rerun" msgstr "חדש וחוזר" msgctxt "#30105" msgid "New only" msgstr "חדש בלבד" msgctxt "#30106" msgid "Live only" msgstr "שידור חי בלבד" msgctxt "#30107" msgid "Channel:" msgstr "ערוץ:" msgctxt "#30108" msgid "Any Channel" msgstr "כל ערוץ" msgctxt "#30110" msgid "Airtime:" msgstr "זמן שידור:" msgctxt "#30111" msgid "Anytime" msgstr "בכל זמן" msgctxt "#30120" msgid "Delete Timer" msgstr "מחיקת תזמון" msgctxt "#30121" msgid "Delete this episode timer only" msgstr "מחיקת תזמון הקלטת פרק זה בלבד" msgctxt "#30122" msgid "Delete the entire series" msgstr "מחיקת כל הסדרה" msgctxt "#30130" msgid "Created by Repeating Timer" msgstr "נוצר ע\"י תזמון חוזר" msgctxt "#30131" msgid "One time (manual)" msgstr "פעם אחת (ידני)" msgctxt "#30132" msgid "One time (guide)" msgstr "חד פעמי (לוח שידורים)" msgctxt "#30133" msgid "One time (wishlist)" msgstr "(פעם אחת (רשימת בקשות" msgctxt "#30134" msgid "Repeating (manual)" msgstr "חוזר (ידני)" msgctxt "#30135" msgid "Repeating (guide)" msgstr "חוזר (לוח שידורים)" msgctxt "#30136" msgid "Repeating (wishlist)" msgstr "(חזרה (רשימת בקשות" msgctxt "#30140" msgid "Normal" msgstr "רגיל" msgctxt "#30141" msgid "High" msgstr "גבוה" msgctxt "#30142" msgid "Low" msgstr "נמוך" msgctxt "#30150" msgid "New Episodes Only" msgstr "רק פרקים חדשים" msgctxt "#30151" msgid "New and Rerun Episodes" msgstr "פרקים חדשים בשידור חוזר" msgctxt "#30152" msgid "Live Only" msgstr "שידור חי בלבד" msgctxt "#30160" msgid "Not Set" msgstr "לא מוגדר" msgctxt "#30161" msgid "Keep Latest Recordings" msgstr "שמור הקלטות אחרונות" msgctxt "#30162" msgid "Keep Until I Watch" msgstr "שמור רק כשאני צופה" msgctxt "#30163" msgid "Keep Until Space Needed" msgstr "שמור כאשר נדרש אחסון" msgctxt "#30164" msgid "Keep Until I Delete" msgstr "שמור עד שאני מוחק" msgctxt "#30165" msgid "Keep For 1 Week" msgstr "שמור לשבוע" msgctxt "#30170" msgid "Keep As Many As Possible" msgstr "שמור הרבה ככל האפשר" msgctxt "#30171" msgid "Keep 1 Recording" msgstr "שמור הקלטה" msgctxt "#30172" msgid "Keep 2 Recordings" msgstr "שמור 2 הקלטות" msgctxt "#30173" msgid "Keep 3 Recordings" msgstr "שמור 3 הקלטות" msgctxt "#30174" msgid "Keep 4 Recordings" msgstr "שמור 4 הקלטות" msgctxt "#30175" msgid "Keep 5 Recordings" msgstr "שמור 5 הקלטות" msgctxt "#30176" msgid "Keep 6 Recordings" msgstr "שמור 6 הקלטות" msgctxt "#30177" msgid "Keep 7 Recordings" msgstr "שמור 7 הקלטות" msgctxt "#30178" msgid "Keep 10 Recordings" msgstr "שמור 10 הקלטות" pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.hi_in/000077500000000000000000000000001354134156400256635ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.hi_in/strings.po000066400000000000000000000014511354134156400277150ustar00rootroot00000000000000# Kodi Media Center language file # Addon Name: PVR WMC Client # Addon id: pvr.wmc # Addon Provider: KrustyReturns and scarecrow420 msgid "" msgstr "" "Project-Id-Version: KODI Main\n" "Report-Msgid-Bugs-To: https://github.com/xbmc/xbmc/issues/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Kodi Translation Team\n" "Language-Team: Hindi (India) (http://www.transifex.com/projects/p/kodi-main/language/hi_IN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: hi_IN\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" msgctxt "#30140" msgid "Normal" msgstr "सामान्य" msgctxt "#30141" msgid "High" msgstr "उच्च" msgctxt "#30142" msgid "Low" msgstr "लो" pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.hr_hr/000077500000000000000000000000001354134156400256775ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.hr_hr/strings.po000066400000000000000000000153031354134156400277320ustar00rootroot00000000000000# Kodi Media Center language file # Addon Name: PVR WMC Client # Addon id: pvr.wmc # Addon Provider: KrustyReturns and scarecrow420 msgid "" msgstr "" "Project-Id-Version: KODI Main\n" "Report-Msgid-Bugs-To: https://github.com/xbmc/xbmc/issues/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Kodi Translation Team\n" "Language-Team: Croatian (Croatia) (http://www.transifex.com/projects/p/kodi-main/language/hr_HR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: hr_HR\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" msgctxt "#30000" msgid "Server Hostname or IP" msgstr "Naziv računala ili IP" msgctxt "#30001" msgid "Keep IP address to 127.0.0.1, if server is running on this same system" msgstr "Zadržite IP adresu 127.0.0.1, ako je poslužitelj pokrenut na ovom sustavu" msgctxt "#30002" msgid "Port Number" msgstr "Broj ulaza" msgctxt "#30003" msgid "Stream timeout, unknown problem" msgstr "Istek vremena streama, nepoznat problem" msgctxt "#30004" msgid "No video data found on this channel" msgstr "Nema pronađenih video podataka na ovom programu" msgctxt "#30005" msgid "Tuner is needed for recording" msgstr "Prijemnik je potreban za snimanje" msgctxt "#30006" msgid "Recording delete failed, file in use or write protected" msgstr "Neuspjelo brisanje snimanja, datoteka je u upotrebi ili nemate dozvolu za brisanje" msgctxt "#30007" msgid "Recording delete failed, recorded file doesn't exist" msgstr "Neuspjelo brisanje snimanja, datoteka snimanja ne postoji" msgctxt "#30008" msgid "Recording file not found" msgstr "Datoteka snimanja nije pronađena" msgctxt "#30009" msgid "Alternate channel chosen: " msgstr "Alternativan program je odabran: " msgctxt "#30010" msgid "Alternate time chosen: " msgstr "Alternativno vrijeme je odabrano: " msgctxt "#30011" msgid "Can't start, tuner is no longer available" msgstr "Nemoguće pokretanje, prijemnik više nije dostupan" msgctxt "#30012" msgid "Channel content is protected" msgstr "Sadržaj programa je zaštićen" msgctxt "#30013" msgid "End time increased by " msgstr "Vrijeme završetka povećano je od" msgctxt "#30014" msgid "Enable SignalStatus calls" msgstr "Omogući pozive stanja signala" msgctxt "#30015" msgid "Refresh SignalStatus Interval (sec)" msgstr "Vrijeme osvježavanja stanja signala (sek)" msgctxt "#30016" msgid "Store Resume/Watched status on server" msgstr "Spremi stanje Nastavi-gledanje/Odgledano na poslužitelj" msgctxt "#30017" msgid "Recorded TV folder not found" msgstr "Mapa TV snimanja nije pronađena" msgctxt "#30018" msgid "Recorded TV folder cannot be opened" msgstr "Mapa TV snimanja ne može se otvoriti" msgctxt "#30019" msgid "ServerWMC version update is available (%s)" msgstr "Ažuriranje (%s) inačice WMC poslužitelja je dostupno" msgctxt "#30020" msgid "All tuners for this channel are busy" msgstr "Svi prijemnici za ovaj program su zauzeti" msgctxt "#30021" msgid "LiveTV timed-out" msgstr "Istek vremena emitiranja" msgctxt "#30022" msgid "LiveTV error, exited early" msgstr "Greška emitiranja, ranije isključeno" msgctxt "#30023" msgid "Recording stream timed-out" msgstr "Istek vremena streama snimanja" msgctxt "#30024" msgid "Recording stream exited early" msgstr "Stream snimanja ranije isključen" msgctxt "#30025" msgid "Use WakeOnLAN to wake up server" msgstr "Koristi WakeOnLAN za buđenje poslužitelja" msgctxt "#30026" msgid "Sending WakeOnLAN to server..." msgstr "Slanje WakeOnLAN na poslužitelj..." msgctxt "#30027" msgid "Time drift between client and backend of %s minutes" msgstr "Vrijeme pomaka između klijenta i pozadinskog softvera %s minuta" msgctxt "#30100" msgid "Recording Preference" msgstr "Osobitosti snimanja" msgctxt "#30101" msgid "Record this episode only" msgstr "Snimi samo ovu epizodu" msgctxt "#30102" msgid "Record the series" msgstr "Snimi cijelu seriju" msgctxt "#30103" msgid "Show type:" msgstr "Prikaži vrstu:" msgctxt "#30104" msgid "New and rerun" msgstr "Nove i reprize" msgctxt "#30105" msgid "New only" msgstr "Samo nove" msgctxt "#30106" msgid "Live only" msgstr "Samo emitiranje uživo" msgctxt "#30107" msgid "Channel:" msgstr "Program:" msgctxt "#30108" msgid "Any Channel" msgstr "Bilo koji program" msgctxt "#30110" msgid "Airtime:" msgstr "Vrijeme emitiranja:" msgctxt "#30111" msgid "Anytime" msgstr "Bilo koje vrijeme" msgctxt "#30120" msgid "Delete Timer" msgstr "Obriši zakazano snimanje" msgctxt "#30121" msgid "Delete this episode timer only" msgstr "Obriši samo zakazano snimanje ove epizode" msgctxt "#30122" msgid "Delete the entire series" msgstr "Obriši cijelu seriju" msgctxt "#30130" msgid "Created by Repeating Timer" msgstr "Stvoreno ponavljajućim zakazanim snimanjem" msgctxt "#30131" msgid "One time (manual)" msgstr "Jednom (ručno)" msgctxt "#30132" msgid "One time (guide)" msgstr "Jednom (EPG vodič)" msgctxt "#30133" msgid "One time (wishlist)" msgstr "Jednom (popis želja)" msgctxt "#30134" msgid "Repeating (manual)" msgstr "Ponavljajuće (ručno)" msgctxt "#30135" msgid "Repeating (guide)" msgstr "Ponavljajuće (EPG vodič)" msgctxt "#30136" msgid "Repeating (wishlist)" msgstr "Ponavljajuće (popis želja)" msgctxt "#30140" msgid "Normal" msgstr "Normalno" msgctxt "#30141" msgid "High" msgstr "Visoka" msgctxt "#30142" msgid "Low" msgstr "Niska" msgctxt "#30150" msgid "New Episodes Only" msgstr "Samo nove epizode" msgctxt "#30151" msgid "New and Rerun Episodes" msgstr "Nove i reprizirane epizode" msgctxt "#30152" msgid "Live Only" msgstr "Samo emitiranje uživo" msgctxt "#30160" msgid "Not Set" msgstr "Nije postavljeno" msgctxt "#30161" msgid "Keep Latest Recordings" msgstr "Zadrži najnovije snimke" msgctxt "#30162" msgid "Keep Until I Watch" msgstr "Zadrži dok nepogledam" msgctxt "#30163" msgid "Keep Until Space Needed" msgstr "Zadrži dok ima slobodnog prostora" msgctxt "#30164" msgid "Keep Until I Delete" msgstr "Zadrži dok ne obrišem" msgctxt "#30165" msgid "Keep For 1 Week" msgstr "Zadrži 1 tjedan" msgctxt "#30170" msgid "Keep As Many As Possible" msgstr "Zadrži koliko je duže moguće" msgctxt "#30171" msgid "Keep 1 Recording" msgstr "Zadrži 1 snimku" msgctxt "#30172" msgid "Keep 2 Recordings" msgstr "Zadrži 2 snimke" msgctxt "#30173" msgid "Keep 3 Recordings" msgstr "Zadrži 3 snimke" msgctxt "#30174" msgid "Keep 4 Recordings" msgstr "Zadrži 4 snimke" msgctxt "#30175" msgid "Keep 5 Recordings" msgstr "Zadrži 5 snimki" msgctxt "#30176" msgid "Keep 6 Recordings" msgstr "Zadrži 6 snimki" msgctxt "#30177" msgid "Keep 7 Recordings" msgstr "Zadrži 7 snimki" msgctxt "#30178" msgid "Keep 10 Recordings" msgstr "Zadrži 10 snimki" pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.hu_hu/000077500000000000000000000000001354134156400257055ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.hu_hu/strings.po000066400000000000000000000153121354134156400277400ustar00rootroot00000000000000# Kodi Media Center language file # Addon Name: PVR WMC Client # Addon id: pvr.wmc # Addon Provider: KrustyReturns and scarecrow420 msgid "" msgstr "" "Project-Id-Version: KODI Main\n" "Report-Msgid-Bugs-To: https://github.com/xbmc/xbmc/issues/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Kodi Translation Team\n" "Language-Team: Hungarian (Hungary) (http://www.transifex.com/projects/p/kodi-main/language/hu_HU/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: hu_HU\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" msgctxt "#30000" msgid "Server Hostname or IP" msgstr "Kiszolgálónév vagy IP cím" msgctxt "#30001" msgid "Keep IP address to 127.0.0.1, if server is running on this same system" msgstr "Az IP cím legyen 127.0.0.1, ha a szerver ugyanazon a rendszeren fut" msgctxt "#30002" msgid "Port Number" msgstr "Port szám" msgctxt "#30003" msgid "Stream timeout, unknown problem" msgstr "Adatfolyam időtúllépés, ismeretlen hiba" msgctxt "#30004" msgid "No video data found on this channel" msgstr "Nem található videó ezen a csatornán!" msgctxt "#30005" msgid "Tuner is needed for recording" msgstr "Tuner szükséges a felvételhez" msgctxt "#30006" msgid "Recording delete failed, file in use or write protected" msgstr "Felvétel törlése sikertelen, a fájl használatban van vagy írásvédett" msgctxt "#30007" msgid "Recording delete failed, recorded file doesn't exist" msgstr "Felvétel törlése sikertelen, a fájl nem létezik" msgctxt "#30008" msgid "Recording file not found" msgstr "Felvétel fájl nem található" msgctxt "#30009" msgid "Alternate channel chosen: " msgstr "Alternatív csatorna kiválasztva:" msgctxt "#30010" msgid "Alternate time chosen: " msgstr "Alternatív időpont kiválasztva:" msgctxt "#30011" msgid "Can't start, tuner is no longer available" msgstr "Nem lehet elkezdeni, a vevőkártya már nem elérhető" msgctxt "#30012" msgid "Channel content is protected" msgstr "A csatornatartalom védett" msgctxt "#30013" msgid "End time increased by " msgstr "A záró időpont megnövelve" msgctxt "#30014" msgid "Enable SignalStatus calls" msgstr "JelStátusz hívások engedélyezése" msgctxt "#30015" msgid "Refresh SignalStatus Interval (sec)" msgstr "JelStátusz frissítés intervallum (mp.)" msgctxt "#30016" msgid "Store Resume/Watched status on server" msgstr "Folytatandó/Megnézett státuszok tárolása a kiszolgálón" msgctxt "#30017" msgid "Recorded TV folder not found" msgstr "TV felvétel mappa nem található" msgctxt "#30018" msgid "Recorded TV folder cannot be opened" msgstr "TV felvétel mappa nem nyitható meg" msgctxt "#30019" msgid "ServerWMC version update is available (%s)" msgstr "ServerWMC verziófrissítés elérhető (%s)" msgctxt "#30020" msgid "All tuners for this channel are busy" msgstr "Minden tuner ehhez a csatornához foglalt" msgctxt "#30021" msgid "LiveTV timed-out" msgstr "LiveTV időtullépés" msgctxt "#30022" msgid "LiveTV error, exited early" msgstr "LiveTV hiba, korábbi kilépés" msgctxt "#30023" msgid "Recording stream timed-out" msgstr "Rögzített adatfolyam időtúllépés" msgctxt "#30024" msgid "Recording stream exited early" msgstr "Rögzített adatfolyam korábbi kilépés" msgctxt "#30025" msgid "Use WakeOnLAN to wake up server" msgstr "WakeOnLAN használata a szerver bekapcsolásához" msgctxt "#30026" msgid "Sending WakeOnLAN to server..." msgstr "WakeOnLAN küldése a szervernek..." msgctxt "#30027" msgid "Time drift between client and backend of %s minutes" msgstr "Időkülönbség %s perc a kliens és háttérkiszolgáló között" msgctxt "#30100" msgid "Recording Preference" msgstr "Felvétel beállítások" msgctxt "#30101" msgid "Record this episode only" msgstr "Csak ezen epizód rögzítése" msgctxt "#30102" msgid "Record the series" msgstr "Sorozat rögzítése" msgctxt "#30103" msgid "Show type:" msgstr "Tipus megjelenítése:" msgctxt "#30104" msgid "New and rerun" msgstr "Új és ismétlés" msgctxt "#30105" msgid "New only" msgstr "Csak új" msgctxt "#30106" msgid "Live only" msgstr "Csak élő" msgctxt "#30107" msgid "Channel:" msgstr "Csatorna:" msgctxt "#30108" msgid "Any Channel" msgstr "Bármely csatorna" msgctxt "#30110" msgid "Airtime:" msgstr "Adásidő:" msgctxt "#30111" msgid "Anytime" msgstr "Bármikor" msgctxt "#30120" msgid "Delete Timer" msgstr "Időzítő törlése" msgctxt "#30121" msgid "Delete this episode timer only" msgstr "Csak egy epizód időzítő törlése" msgctxt "#30122" msgid "Delete the entire series" msgstr "Teljes sorozat törlése" msgctxt "#30130" msgid "Created by Repeating Timer" msgstr "Ismétlődő időzíti által létrehozva" msgctxt "#30131" msgid "One time (manual)" msgstr "Egyszeri (kézi)" msgctxt "#30132" msgid "One time (guide)" msgstr "Egyszeri (műsorújság)" msgctxt "#30133" msgid "One time (wishlist)" msgstr "Egyszeri (kívánságlista)" msgctxt "#30134" msgid "Repeating (manual)" msgstr "Ismétlődő (kézi)" msgctxt "#30135" msgid "Repeating (guide)" msgstr "Ismétlődő (műsorújság)" msgctxt "#30136" msgid "Repeating (wishlist)" msgstr "Ismétlődő (kívánságlista)" msgctxt "#30140" msgid "Normal" msgstr "Normál" msgctxt "#30141" msgid "High" msgstr "Magas" msgctxt "#30142" msgid "Low" msgstr "Alacsony" msgctxt "#30150" msgid "New Episodes Only" msgstr "Csak az új epizódok" msgctxt "#30151" msgid "New and Rerun Episodes" msgstr "Új és ismételt epizódok" msgctxt "#30152" msgid "Live Only" msgstr "Csak élő" msgctxt "#30160" msgid "Not Set" msgstr "Nincs megadva" msgctxt "#30161" msgid "Keep Latest Recordings" msgstr "Legutóbbi felvételek megtartása" msgctxt "#30162" msgid "Keep Until I Watch" msgstr "Megtartás amíg megnézetlen" msgctxt "#30163" msgid "Keep Until Space Needed" msgstr "Megtartás amíg van szabad hely" msgctxt "#30164" msgid "Keep Until I Delete" msgstr "Megtartás amíg törlésre kerül" msgctxt "#30165" msgid "Keep For 1 Week" msgstr "Megtartás 1 hétig" msgctxt "#30170" msgid "Keep As Many As Possible" msgstr "Annyi megtartása amennyi lehetséges" msgctxt "#30171" msgid "Keep 1 Recording" msgstr "1 felvétel megtartása" msgctxt "#30172" msgid "Keep 2 Recordings" msgstr "2 felvétel megtartása" msgctxt "#30173" msgid "Keep 3 Recordings" msgstr "3 felvétel megtartása" msgctxt "#30174" msgid "Keep 4 Recordings" msgstr "4 felvétel megtartása" msgctxt "#30175" msgid "Keep 5 Recordings" msgstr "5 felvétel megtartása" msgctxt "#30176" msgid "Keep 6 Recordings" msgstr "6 felvétel megtartása" msgctxt "#30177" msgid "Keep 7 Recordings" msgstr "7 felvétel megtartása" msgctxt "#30178" msgid "Keep 10 Recordings" msgstr "10 felvétel megtartása" pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.hy_am/000077500000000000000000000000001354134156400256725ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.hy_am/strings.po000066400000000000000000000014451354134156400277270ustar00rootroot00000000000000# Kodi Media Center language file # Addon Name: PVR WMC Client # Addon id: pvr.wmc # Addon Provider: KrustyReturns and scarecrow420 msgid "" msgstr "" "Project-Id-Version: KODI Main\n" "Report-Msgid-Bugs-To: https://github.com/xbmc/xbmc/issues/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Kodi Translation Team\n" "Language-Team: Armenian (Armenia) (http://www.transifex.com/projects/p/kodi-main/language/hy_AM/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: hy_AM\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" msgctxt "#30140" msgid "Normal" msgstr "Նորմալ" msgctxt "#30141" msgid "High" msgstr "Բարձր" msgctxt "#30142" msgid "Low" msgstr "Ցածր" pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.id_id/000077500000000000000000000000001354134156400256455ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.id_id/strings.po000066400000000000000000000137631354134156400277100ustar00rootroot00000000000000# Kodi Media Center language file # Addon Name: PVR WMC Client # Addon id: pvr.wmc # Addon Provider: KrustyReturns and scarecrow420 msgid "" msgstr "" "Project-Id-Version: KODI Main\n" "Report-Msgid-Bugs-To: https://github.com/xbmc/xbmc/issues/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Kodi Translation Team\n" "Language-Team: Indonesian (Indonesia) (http://www.transifex.com/projects/p/kodi-main/language/id_ID/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: id_ID\n" "Plural-Forms: nplurals=1; plural=0;\n" msgctxt "#30000" msgid "Server Hostname or IP" msgstr "Hostname Server atau IP" msgctxt "#30001" msgid "Keep IP address to 127.0.0.1, if server is running on this same system" msgstr "Simpan alamat IP di 127.0.0.1, jika server berjalan pada sistem yang sama." msgctxt "#30002" msgid "Port Number" msgstr "Nomor Port" msgctxt "#30003" msgid "Stream timeout, unknown problem" msgstr "Siaran timeout, masalah tak dikenal" msgctxt "#30004" msgid "No video data found on this channel" msgstr "Tidak ada data video yang ditemukan pada kanal ini" msgctxt "#30005" msgid "Tuner is needed for recording" msgstr "Tuner dibutuhkan untuk rekaman" msgctxt "#30006" msgid "Recording delete failed, file in use or write protected" msgstr "Penghapusan rekaman gagal, berkas masih digunakan atau dilindungi" msgctxt "#30007" msgid "Recording delete failed, recorded file doesn't exist" msgstr "Penghapusan rekaman gagal, berkas terekam tidak ada" msgctxt "#30008" msgid "Recording file not found" msgstr "Berkas perekaman tidak ditemui" msgctxt "#30009" msgid "Alternate channel chosen: " msgstr "Kanal alternatif dipilih:" msgctxt "#30010" msgid "Alternate time chosen: " msgstr "Waktu alternatif dipilih:" msgctxt "#30011" msgid "Can't start, tuner is no longer available" msgstr "Tidak dapat memulai, tuner tidak lagi tersedia" msgctxt "#30012" msgid "Channel content is protected" msgstr "Konten Kanal dilindungi" msgctxt "#30013" msgid "End time increased by " msgstr "Waktu akhir ditingkatkan" msgctxt "#30014" msgid "Enable SignalStatus calls" msgstr "Aktifkan panggilan SignalStatus" msgctxt "#30015" msgid "Refresh SignalStatus Interval (sec)" msgstr "Interval segarkan SignalStatus (det)" msgctxt "#30016" msgid "Store Resume/Watched status on server" msgstr "Simpan status Lanjutkan/Sudah-ditonton dalam server" msgctxt "#30017" msgid "Recorded TV folder not found" msgstr "Folder Rekaman TV tidak ditemui" msgctxt "#30018" msgid "Recorded TV folder cannot be opened" msgstr "Folder Rekaman TV tidak dapat dibuka" msgctxt "#30019" msgid "ServerWMC version update is available (%s)" msgstr "Update versi ServerWMC tersedia (%s)" msgctxt "#30020" msgid "All tuners for this channel are busy" msgstr "Semua tuner untuk kanal ini sedang sibuk" msgctxt "#30021" msgid "LiveTV timed-out" msgstr "LiveTV timeout" msgctxt "#30022" msgid "LiveTV error, exited early" msgstr "LiveTV error, keluar lebih cepat (HA!!!)" msgctxt "#30023" msgid "Recording stream timed-out" msgstr "Siaran rekaman timeout" msgctxt "#30024" msgid "Recording stream exited early" msgstr "Siaran rekaman keluar lebih cepat" msgctxt "#30025" msgid "Use WakeOnLAN to wake up server" msgstr "Gunakan WakeOnLAN untuk membangunkan server" msgctxt "#30026" msgid "Sending WakeOnLAN to server..." msgstr "Mengirimkan WakeOnLAN ke server..." msgctxt "#30027" msgid "Time drift between client and backend of %s minutes" msgstr "Selisih waktu antara klien dan backend adalah %s menit" msgctxt "#30100" msgid "Recording Preference" msgstr "Preferensi Rekaman" msgctxt "#30101" msgid "Record this episode only" msgstr "Rekam episode ini saja" msgctxt "#30102" msgid "Record the series" msgstr "Rekam seri" msgctxt "#30103" msgid "Show type:" msgstr "Jenis acara:" msgctxt "#30104" msgid "New and rerun" msgstr "Baru dan tayang ulang" msgctxt "#30105" msgid "New only" msgstr "Baru saja" msgctxt "#30106" msgid "Live only" msgstr "Langsung saja" msgctxt "#30107" msgid "Channel:" msgstr "Saluran:" msgctxt "#30108" msgid "Any Channel" msgstr "Kanal mana saja" msgctxt "#30110" msgid "Airtime:" msgstr "Jam tayang:" msgctxt "#30111" msgid "Anytime" msgstr "Kapan saja" msgctxt "#30120" msgid "Delete Timer" msgstr "Hapus TImer" msgctxt "#30121" msgid "Delete this episode timer only" msgstr "Hapus timer episode ini saja" msgctxt "#30122" msgid "Delete the entire series" msgstr "Hapus semua seri" msgctxt "#30130" msgid "Created by Repeating Timer" msgstr "Dibuat dengan cara Mengulang Penghitung Waktu" msgctxt "#30140" msgid "Normal" msgstr "Normal" msgctxt "#30141" msgid "High" msgstr "Tinggi" msgctxt "#30142" msgid "Low" msgstr "Rendah" msgctxt "#30150" msgid "New Episodes Only" msgstr "Hanya Episode Baru" msgctxt "#30151" msgid "New and Rerun Episodes" msgstr "Episode Baru dan yang Sedang Berjalan" msgctxt "#30160" msgid "Not Set" msgstr "Belum Diatur" msgctxt "#30161" msgid "Keep Latest Recordings" msgstr "Pertahankan Perekaman Terakhir" msgctxt "#30162" msgid "Keep Until I Watch" msgstr "Pertahankan Sampai Saya Menonton" msgctxt "#30163" msgid "Keep Until Space Needed" msgstr "Pertahankan Sampai Ruang Dibutuhkan" msgctxt "#30164" msgid "Keep Until I Delete" msgstr "Pertahankan Sampai Saya Hapus" msgctxt "#30165" msgid "Keep For 1 Week" msgstr "Pertahankan Selama 1 Minggu" msgctxt "#30170" msgid "Keep As Many As Possible" msgstr "Pertahankan Selama Mungkin" msgctxt "#30171" msgid "Keep 1 Recording" msgstr "Pertahankan 1 Rekaman" msgctxt "#30172" msgid "Keep 2 Recordings" msgstr "Pertahankan 2 Rekaman" msgctxt "#30173" msgid "Keep 3 Recordings" msgstr "Pertahankan 3 Rekaman" msgctxt "#30174" msgid "Keep 4 Recordings" msgstr "Pertahankan 4 Rekaman" msgctxt "#30175" msgid "Keep 5 Recordings" msgstr "Pertahankan 5 Rekaman" msgctxt "#30176" msgid "Keep 6 Recordings" msgstr "Pertahankan 6 Rekaman" msgctxt "#30177" msgid "Keep 7 Recordings" msgstr "Pertahankan 7 Rekaman" msgctxt "#30178" msgid "Keep 10 Recordings" msgstr "Pertahankan 10 Rekaman" pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.is_is/000077500000000000000000000000001354134156400257035ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.is_is/strings.po000066400000000000000000000152641354134156400277440ustar00rootroot00000000000000# Kodi Media Center language file # Addon Name: PVR WMC Client # Addon id: pvr.wmc # Addon Provider: KrustyReturns and scarecrow420 msgid "" msgstr "" "Project-Id-Version: KODI Main\n" "Report-Msgid-Bugs-To: https://github.com/xbmc/xbmc/issues/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Kodi Translation Team\n" "Language-Team: Icelandic (Iceland) (http://www.transifex.com/projects/p/kodi-main/language/is_IS/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: is_IS\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" msgctxt "#30000" msgid "Server Hostname or IP" msgstr "Nafn miðlara eða IP-tala" msgctxt "#30001" msgid "Keep IP address to 127.0.0.1, if server is running on this same system" msgstr "Hafðu IP-töluna 127.0.0.1, ef miðlari er á keyra á sömu tölvu" msgctxt "#30002" msgid "Port Number" msgstr "Gátt númer" msgctxt "#30003" msgid "Stream timeout, unknown problem" msgstr "Streymi rann út á tíma, óþekkt vandamál" msgctxt "#30004" msgid "No video data found on this channel" msgstr "Engin myndbandsgögn fundust á þessari rás" msgctxt "#30005" msgid "Tuner is needed for recording" msgstr "Þarf móttakara fyrir upptöku" msgctxt "#30006" msgid "Recording delete failed, file in use or write protected" msgstr "Eyðing upptöku mistókst, skrá í notkun eða skrifvarin" msgctxt "#30007" msgid "Recording delete failed, recorded file doesn't exist" msgstr "Eyðing upptöku mistókst, upptökuskrá er ekki til" msgctxt "#30008" msgid "Recording file not found" msgstr "Upptökuskrá finnst ekki" msgctxt "#30009" msgid "Alternate channel chosen: " msgstr "Valin vararás:" msgctxt "#30010" msgid "Alternate time chosen: " msgstr "Valin tími fyrir varaupptöku:" msgctxt "#30011" msgid "Can't start, tuner is no longer available" msgstr "Get ekki ræst, móttakari er ekki lengur tiltækur" msgctxt "#30012" msgid "Channel content is protected" msgstr "Myndefni rásar er varið" msgctxt "#30013" msgid "End time increased by " msgstr "Lokatími aukin um" msgctxt "#30014" msgid "Enable SignalStatus calls" msgstr "Virkja SignalStatus athuganir" msgctxt "#30015" msgid "Refresh SignalStatus Interval (sec)" msgstr "Tími á milli SignalStatus upplýsinga (sek)" msgctxt "#30016" msgid "Store Resume/Watched status on server" msgstr "Vista 'Halda áfram/Horft á' stöðu á miðlara" msgctxt "#30017" msgid "Recorded TV folder not found" msgstr "Sjónvarpsupptökumappa fannst ekki" msgctxt "#30018" msgid "Recorded TV folder cannot be opened" msgstr "Ekki hægt að opna sjónvarpsupptökumöppu" msgctxt "#30019" msgid "ServerWMC version update is available (%s)" msgstr "Uppfærsla á ServerWMC útgáfu er fáanleg (%s)" msgctxt "#30020" msgid "All tuners for this channel are busy" msgstr "Allir móttakarar fyrir þessa rás eru uppteknir" msgctxt "#30021" msgid "LiveTV timed-out" msgstr "Tengitími fyrir beina útsendingu rann út" msgctxt "#30022" msgid "LiveTV error, exited early" msgstr "Villa í beinni útsendingu, hætti snemma" msgctxt "#30023" msgid "Recording stream timed-out" msgstr "Upptökustreymi rann út á tíma" msgctxt "#30024" msgid "Recording stream exited early" msgstr "Upptökustreymi hætti of snemma" msgctxt "#30025" msgid "Use WakeOnLAN to wake up server" msgstr "Nota VaknaViðNet (WakeOnLAN) til að vekja miðlara" msgctxt "#30026" msgid "Sending WakeOnLAN to server..." msgstr "Sendi VaknaViðNet (WakeOnLAN) til miðlara..." msgctxt "#30027" msgid "Time drift between client and backend of %s minutes" msgstr "Tímaskekkja á milli biðlara og bakenda uppá %s mínútur" msgctxt "#30100" msgid "Recording Preference" msgstr "Uppsetning Upptakna" msgctxt "#30101" msgid "Record this episode only" msgstr "Aðeins taka upp þennan þátt" msgctxt "#30102" msgid "Record the series" msgstr "Taka upp þessa þáttaröð" msgctxt "#30103" msgid "Show type:" msgstr "Gerð þáttar:" msgctxt "#30104" msgid "New and rerun" msgstr "Nýtt og endursýnt:" msgctxt "#30105" msgid "New only" msgstr "Aðeins nýtt" msgctxt "#30106" msgid "Live only" msgstr "Aðeins beinar útsendingar" msgctxt "#30107" msgid "Channel:" msgstr "Rás:" msgctxt "#30108" msgid "Any Channel" msgstr "Hvaða rás sem er" msgctxt "#30110" msgid "Airtime:" msgstr "Sýningartími:" msgctxt "#30111" msgid "Anytime" msgstr "Hvenær sem er" msgctxt "#30120" msgid "Delete Timer" msgstr "Eyða tímatöku" msgctxt "#30121" msgid "Delete this episode timer only" msgstr "Eyða aðeins tímatöku þessa þáttar" msgctxt "#30122" msgid "Delete the entire series" msgstr "Eyða fyrir alla þáttaröðina" msgctxt "#30130" msgid "Created by Repeating Timer" msgstr "Búið til með endurtekinni tímatöku" msgctxt "#30131" msgid "One time (manual)" msgstr "Eitt skipti (handvirkt)" msgctxt "#30132" msgid "One time (guide)" msgstr "Eitt skipti (dagskrárvísir)" msgctxt "#30133" msgid "One time (wishlist)" msgstr "Eitt skipti (óskalisti)" msgctxt "#30134" msgid "Repeating (manual)" msgstr "Endurtekið (handvirkt)" msgctxt "#30135" msgid "Repeating (guide)" msgstr "Endurtekið (dagskrárvísir)" msgctxt "#30136" msgid "Repeating (wishlist)" msgstr "Endurtekið (óskalisti)" msgctxt "#30140" msgid "Normal" msgstr "Venjulegt" msgctxt "#30141" msgid "High" msgstr "Hæst" msgctxt "#30142" msgid "Low" msgstr "Lægst" msgctxt "#30150" msgid "New Episodes Only" msgstr "Einungis nýjir þættir" msgctxt "#30151" msgid "New and Rerun Episodes" msgstr "Nýjir og endursýndir þættir" msgctxt "#30152" msgid "Live Only" msgstr "Aðeins beinar útsendingar" msgctxt "#30160" msgid "Not Set" msgstr "Ekki stillt" msgctxt "#30161" msgid "Keep Latest Recordings" msgstr "Halda síðustu upptökum" msgctxt "#30162" msgid "Keep Until I Watch" msgstr "Halda þangað til búið er að horfa á" msgctxt "#30163" msgid "Keep Until Space Needed" msgstr "Halda þangað til vantar pláss" msgctxt "#30164" msgid "Keep Until I Delete" msgstr "Halda þangað til ég eyði" msgctxt "#30165" msgid "Keep For 1 Week" msgstr "Halda í 1 viku" msgctxt "#30170" msgid "Keep As Many As Possible" msgstr "Halda eins mörgum og mögulegt er" msgctxt "#30171" msgid "Keep 1 Recording" msgstr "Halda 1 upptöku" msgctxt "#30172" msgid "Keep 2 Recordings" msgstr "Halda 2 upptökum" msgctxt "#30173" msgid "Keep 3 Recordings" msgstr "Halda 3 upptökum" msgctxt "#30174" msgid "Keep 4 Recordings" msgstr "Halda 4 upptökum" msgctxt "#30175" msgid "Keep 5 Recordings" msgstr "Halda 5 upptökum" msgctxt "#30176" msgid "Keep 6 Recordings" msgstr "Halda 6 upptökum" msgctxt "#30177" msgid "Keep 7 Recordings" msgstr "Halda 7 upptökum" msgctxt "#30178" msgid "Keep 10 Recordings" msgstr "Halda 10 upptökum" pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.it_it/000077500000000000000000000000001354134156400257055ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.it_it/strings.po000066400000000000000000000152471354134156400277470ustar00rootroot00000000000000# Kodi Media Center language file # Addon Name: PVR WMC Client # Addon id: pvr.wmc # Addon Provider: KrustyReturns and scarecrow420 msgid "" msgstr "" "Project-Id-Version: KODI Main\n" "Report-Msgid-Bugs-To: https://github.com/xbmc/xbmc/issues/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Kodi Translation Team\n" "Language-Team: Italian (Italy) (http://www.transifex.com/projects/p/kodi-main/language/it_IT/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: it_IT\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" msgctxt "#30000" msgid "Server Hostname or IP" msgstr "IP o nome server" msgctxt "#30001" msgid "Keep IP address to 127.0.0.1, if server is running on this same system" msgstr "Imposta l'ip a 127.0.0.1 se il server è in funzione sullo stesso sistema" msgctxt "#30002" msgid "Port Number" msgstr "Numero porta" msgctxt "#30003" msgid "Stream timeout, unknown problem" msgstr "Interruzione dello stream, problema sconosciuto" msgctxt "#30004" msgid "No video data found on this channel" msgstr "Nessun dato video trovato in questo canale" msgctxt "#30005" msgid "Tuner is needed for recording" msgstr "Serve un tuner per registrare" msgctxt "#30006" msgid "Recording delete failed, file in use or write protected" msgstr "Eliminazione della registrazione fallita, file in uso o protetto dalla scrittura" msgctxt "#30007" msgid "Recording delete failed, recorded file doesn't exist" msgstr "Eliminazione della registrazione fallita, il file non esiste" msgctxt "#30008" msgid "Recording file not found" msgstr "File registrato non trovato" msgctxt "#30009" msgid "Alternate channel chosen: " msgstr "Canale alternativo scelto:" msgctxt "#30010" msgid "Alternate time chosen: " msgstr "Ora alternativa scelta:" msgctxt "#30011" msgid "Can't start, tuner is no longer available" msgstr "Non posso avviare, il tuner non è più disponibile" msgctxt "#30012" msgid "Channel content is protected" msgstr "Il contenuto del canale è protetto" msgctxt "#30013" msgid "End time increased by " msgstr "Ora fine aumentata di" msgctxt "#30014" msgid "Enable SignalStatus calls" msgstr "Abilita messaggi di stato segnale" msgctxt "#30015" msgid "Refresh SignalStatus Interval (sec)" msgstr "Aggiorna intervallo di stato segnale (sec)" msgctxt "#30016" msgid "Store Resume/Watched status on server" msgstr "Salva lo stato Riprendi/Guardato sul server" msgctxt "#30017" msgid "Recorded TV folder not found" msgstr "Cartella di registrazione non trovata" msgctxt "#30018" msgid "Recorded TV folder cannot be opened" msgstr "La cartella di registrazione non può essere aperta" msgctxt "#30019" msgid "ServerWMC version update is available (%s)" msgstr "E' disponibile un aggiornamento di versione del ServerWMC (%s)" msgctxt "#30020" msgid "All tuners for this channel are busy" msgstr "Tutti i tuner per questo canale sono occupati" msgctxt "#30021" msgid "LiveTV timed-out" msgstr "Live TV interrotta" msgctxt "#30022" msgid "LiveTV error, exited early" msgstr "Errore nella Live TV, uscita in anticipo" msgctxt "#30023" msgid "Recording stream timed-out" msgstr "Lo stream registrato si è interrotto" msgctxt "#30024" msgid "Recording stream exited early" msgstr "Lo stream registrato è uscito in anticipo" msgctxt "#30025" msgid "Use WakeOnLAN to wake up server" msgstr "Usa WakeOnLAN per accendere il server" msgctxt "#30026" msgid "Sending WakeOnLAN to server..." msgstr "Inviando il segnale WakeOnLAN al server..." msgctxt "#30027" msgid "Time drift between client and backend of %s minutes" msgstr "Deriva temporale tra client e backend di %s minuti" msgctxt "#30100" msgid "Recording Preference" msgstr "Preferenze registrazione" msgctxt "#30101" msgid "Record this episode only" msgstr "Registra questo episodio solo" msgctxt "#30102" msgid "Record the series" msgstr "Registra le serie" msgctxt "#30103" msgid "Show type:" msgstr "Tipo di serie:" msgctxt "#30104" msgid "New and rerun" msgstr "Nuovo e riavvia" msgctxt "#30105" msgid "New only" msgstr "Solo nuovo" msgctxt "#30106" msgid "Live only" msgstr "Solo live" msgctxt "#30107" msgid "Channel:" msgstr "Canale:" msgctxt "#30108" msgid "Any Channel" msgstr "Qualunque canale" msgctxt "#30110" msgid "Airtime:" msgstr "Ora di trasmissione:" msgctxt "#30111" msgid "Anytime" msgstr "Qualunque ora" msgctxt "#30120" msgid "Delete Timer" msgstr "Elimina timer" msgctxt "#30121" msgid "Delete this episode timer only" msgstr "Elimina solo il timer di questo episodio" msgctxt "#30122" msgid "Delete the entire series" msgstr "Elimina l'intera serie" msgctxt "#30130" msgid "Created by Repeating Timer" msgstr "Creato da timer ripetitivo" msgctxt "#30131" msgid "One time (manual)" msgstr "Una volta (manuale)" msgctxt "#30132" msgid "One time (guide)" msgstr "Una volta (guida)" msgctxt "#30133" msgid "One time (wishlist)" msgstr "Una volta (lista desiderati)" msgctxt "#30134" msgid "Repeating (manual)" msgstr "Ripetizione (manuale)" msgctxt "#30135" msgid "Repeating (guide)" msgstr "Ripetizione (guida)" msgctxt "#30136" msgid "Repeating (wishlist)" msgstr "Ripetizione (lista desiderati)" msgctxt "#30140" msgid "Normal" msgstr "Normale" msgctxt "#30141" msgid "High" msgstr "Alta" msgctxt "#30142" msgid "Low" msgstr "Bassa" msgctxt "#30150" msgid "New Episodes Only" msgstr "Solo nuovi episodi" msgctxt "#30151" msgid "New and Rerun Episodes" msgstr "Episodi Nuovi e riavviati" msgctxt "#30152" msgid "Live Only" msgstr "Solo live" msgctxt "#30160" msgid "Not Set" msgstr "Non impostato" msgctxt "#30161" msgid "Keep Latest Recordings" msgstr "Mantieni le ultime registrazioni" msgctxt "#30162" msgid "Keep Until I Watch" msgstr "Mantieni finchè non è stato guardato" msgctxt "#30163" msgid "Keep Until Space Needed" msgstr "Mantieni fino a che c'è lo spazio necessario" msgctxt "#30164" msgid "Keep Until I Delete" msgstr "Mantieni finchè non è stato cancellato" msgctxt "#30165" msgid "Keep For 1 Week" msgstr "Mantieni per 1 settimana" msgctxt "#30170" msgid "Keep As Many As Possible" msgstr "Mantieni il più possibile" msgctxt "#30171" msgid "Keep 1 Recording" msgstr "Mantieni una registrazione" msgctxt "#30172" msgid "Keep 2 Recordings" msgstr "Mantieni 2 registrazioni" msgctxt "#30173" msgid "Keep 3 Recordings" msgstr "Mantieni 3 registrazioni" msgctxt "#30174" msgid "Keep 4 Recordings" msgstr "Mantieni 4 registrazioni" msgctxt "#30175" msgid "Keep 5 Recordings" msgstr "Mantieni 5 registrazioni" msgctxt "#30176" msgid "Keep 6 Recordings" msgstr "Mantieni 6 registrazioni" msgctxt "#30177" msgid "Keep 7 Recordings" msgstr "Mantieni 7 registrazioni" msgctxt "#30178" msgid "Keep 10 Recordings" msgstr "Mantieni 10 registrazioni" pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.ja_jp/000077500000000000000000000000001354134156400256605ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.ja_jp/strings.po000066400000000000000000000116621354134156400277170ustar00rootroot00000000000000# Kodi Media Center language file # Addon Name: PVR WMC Client # Addon id: pvr.wmc # Addon Provider: KrustyReturns and scarecrow420 msgid "" msgstr "" "Project-Id-Version: KODI Main\n" "Report-Msgid-Bugs-To: https://github.com/xbmc/xbmc/issues/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Kodi Translation Team\n" "Language-Team: Japanese (Japan) (http://www.transifex.com/projects/p/kodi-main/language/ja_JP/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ja_JP\n" "Plural-Forms: nplurals=1; plural=0;\n" msgctxt "#30000" msgid "Server Hostname or IP" msgstr "サーバホスト名または IP アドレス" msgctxt "#30001" msgid "Keep IP address to 127.0.0.1, if server is running on this same system" msgstr " サーバが同じシステムで動作している場合は、IPアドレスを 127.0.0.1 を保つ" msgctxt "#30002" msgid "Port Number" msgstr "ポート番号" msgctxt "#30003" msgid "Stream timeout, unknown problem" msgstr "原因不明の問題でストリームタイムアウト" msgctxt "#30004" msgid "No video data found on this channel" msgstr "このチャンネルは受信できません" msgctxt "#30005" msgid "Tuner is needed for recording" msgstr "録画に必要なチューナー" msgctxt "#30006" msgid "Recording delete failed, file in use or write protected" msgstr "録画の削除に失敗しました、ファイルが使用中か書き込み禁止です" msgctxt "#30007" msgid "Recording delete failed, recorded file doesn't exist" msgstr "録画の削除に失敗しました、録画ファイルが見つかりません" msgctxt "#30008" msgid "Recording file not found" msgstr "録画ファイルが見つかりませんでした" msgctxt "#30009" msgid "Alternate channel chosen: " msgstr "選択済みの別のチャンネル : " msgctxt "#30010" msgid "Alternate time chosen: " msgstr "選択済みの別の時間 : " msgctxt "#30011" msgid "Can't start, tuner is no longer available" msgstr "チューナーが起動できません" msgctxt "#30012" msgid "Channel content is protected" msgstr "チャンネルのコンテンツは保護されています" msgctxt "#30013" msgid "End time increased by " msgstr "終了時間の延長元 " msgctxt "#30014" msgid "Enable SignalStatus calls" msgstr "シグナルステータスを有効" msgctxt "#30015" msgid "Refresh SignalStatus Interval (sec)" msgstr "シグナルステータスの更新間隔 (秒)" msgctxt "#30016" msgid "Store Resume/Watched status on server" msgstr "再開・視聴済み状態をサーバーに保存する" msgctxt "#30017" msgid "Recorded TV folder not found" msgstr "TV 録画フォルダが見つかりませんでした" msgctxt "#30018" msgid "Recorded TV folder cannot be opened" msgstr "TV 録画フォルダを開けませんでした" msgctxt "#30019" msgid "ServerWMC version update is available (%s)" msgstr "ServerWMC のバージョンアップがリリースされています(%s)" msgctxt "#30020" msgid "All tuners for this channel are busy" msgstr "このチャンネル用のすべてのチューナーが稼働中" msgctxt "#30021" msgid "LiveTV timed-out" msgstr "ライブ TV タイムアウト" msgctxt "#30022" msgid "LiveTV error, exited early" msgstr "LiveTV エラー、早く終了してしまいました" msgctxt "#30023" msgid "Recording stream timed-out" msgstr "録画ストリームタイムアウト" msgctxt "#30024" msgid "Recording stream exited early" msgstr "録画ストリームが早く終了してしまいました" msgctxt "#30025" msgid "Use WakeOnLAN to wake up server" msgstr "WakeOnLAN をつかってサーバーを起動する" msgctxt "#30026" msgid "Sending WakeOnLAN to server..." msgstr "サーバーに WakeOnLAN を送信中..." msgctxt "#30100" msgid "Recording Preference" msgstr "録画設定" msgctxt "#30101" msgid "Record this episode only" msgstr "このエピソードだけ録画" msgctxt "#30102" msgid "Record the series" msgstr "シリーズを録画" msgctxt "#30103" msgid "Show type:" msgstr "表示形式:" msgctxt "#30105" msgid "New only" msgstr "New のみ" msgctxt "#30106" msgid "Live only" msgstr "ライブのみ" msgctxt "#30107" msgid "Channel:" msgstr "チャンネル:" msgctxt "#30108" msgid "Any Channel" msgstr "すべてのチャンネル" msgctxt "#30110" msgid "Airtime:" msgstr "放送時間:" msgctxt "#30111" msgid "Anytime" msgstr "いつでも" msgctxt "#30120" msgid "Delete Timer" msgstr "タイマーを削除" msgctxt "#30121" msgid "Delete this episode timer only" msgstr "このエピソードのタイマーだけ削除" msgctxt "#30122" msgid "Delete the entire series" msgstr "シリーズ全体を削除" msgctxt "#30140" msgid "Normal" msgstr "中" msgctxt "#30141" msgid "High" msgstr "高" msgctxt "#30142" msgid "Low" msgstr "低" msgctxt "#30150" msgid "New Episodes Only" msgstr "新しいエピソードだけ" pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.ko_kr/000077500000000000000000000000001354134156400257025ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.ko_kr/strings.po000066400000000000000000000153151354134156400277400ustar00rootroot00000000000000# Kodi Media Center language file # Addon Name: PVR WMC Client # Addon id: pvr.wmc # Addon Provider: KrustyReturns and scarecrow420 msgid "" msgstr "" "Project-Id-Version: KODI Main\n" "Report-Msgid-Bugs-To: https://github.com/xbmc/xbmc/issues/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Kodi Translation Team\n" "Language-Team: Korean (Korea) (http://www.transifex.com/projects/p/kodi-main/language/ko_KR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ko_KR\n" "Plural-Forms: nplurals=1; plural=0;\n" msgctxt "#30000" msgid "Server Hostname or IP" msgstr "서버 호스트네임 또는 IP 주소" msgctxt "#30001" msgid "Keep IP address to 127.0.0.1, if server is running on this same system" msgstr "서버가 동일한 시스템에서 동작하고 있는경우, IP 주소를 127.0.0.1 로 유지하세요 " msgctxt "#30002" msgid "Port Number" msgstr "포트 넘버" msgctxt "#30003" msgid "Stream timeout, unknown problem" msgstr "스트림 시간초과, 알 수 없는 오류입니다" msgctxt "#30004" msgid "No video data found on this channel" msgstr "이 채널에서 비디오를 찾을 수 없습니다" msgctxt "#30005" msgid "Tuner is needed for recording" msgstr "녹화를 위해서 튜너가 필요합니다" msgctxt "#30006" msgid "Recording delete failed, file in use or write protected" msgstr "녹화 삭제 실패, 파일이 사용중이거나 쓰기 금지 상태입니다" msgctxt "#30007" msgid "Recording delete failed, recorded file doesn't exist" msgstr "녹화 삭제 실패, 녹화된 파일이 존재하지 않습니다" msgctxt "#30008" msgid "Recording file not found" msgstr "녹화된 파일을 찾을 수 없습니다" msgctxt "#30009" msgid "Alternate channel chosen: " msgstr "선택된 대체 채널:" msgctxt "#30010" msgid "Alternate time chosen: " msgstr "선택된 대체 시간:" msgctxt "#30011" msgid "Can't start, tuner is no longer available" msgstr "튜너를 사용할수 없어서 녹화를 시작할 수 없습니다" msgctxt "#30012" msgid "Channel content is protected" msgstr "채널 콘텐츠가 보호되어 있습니다" msgctxt "#30013" msgid "End time increased by " msgstr "종료 시간 연장" msgctxt "#30014" msgid "Enable SignalStatus calls" msgstr "신호 상태 호출 사용" msgctxt "#30015" msgid "Refresh SignalStatus Interval (sec)" msgstr "신호 상태 갱신 주기 (초)" msgctxt "#30016" msgid "Store Resume/Watched status on server" msgstr "서버에 이어서 보기/재생 상태를 저장" msgctxt "#30017" msgid "Recorded TV folder not found" msgstr "녹화된 TV 폴더를 찾을 수 없음" msgctxt "#30018" msgid "Recorded TV folder cannot be opened" msgstr "녹화된 TV 폴더를 열 수가 없음" msgctxt "#30019" msgid "ServerWMC version update is available (%s)" msgstr " ServerWMC 버전 업데이트가 가능합니다 (%s)" msgctxt "#30020" msgid "All tuners for this channel are busy" msgstr "이 채널을 위한 모든 튜너가 사용중입니다" msgctxt "#30021" msgid "LiveTV timed-out" msgstr "라이브 TV 시간초과" msgctxt "#30022" msgid "LiveTV error, exited early" msgstr "라이브 TV 오류로 미리 종료됨" msgctxt "#30023" msgid "Recording stream timed-out" msgstr "녹화 스트림 시간초과" msgctxt "#30024" msgid "Recording stream exited early" msgstr "녹화 스트림이 미리 종료됨" msgctxt "#30025" msgid "Use WakeOnLAN to wake up server" msgstr "서버를 깨우기 위해 WakeOnLan 사용합니다" msgctxt "#30026" msgid "Sending WakeOnLAN to server..." msgstr "WakeOnLan 신호를 서버로 전송중입니다" msgctxt "#30027" msgid "Time drift between client and backend of %s minutes" msgstr "클라이언트와 백엔드 사이에 시간차가 %s 분 납니다" msgctxt "#30100" msgid "Recording Preference" msgstr "녹화 설정" msgctxt "#30101" msgid "Record this episode only" msgstr "이 에피소드만 녹화" msgctxt "#30102" msgid "Record the series" msgstr "시리즈를 녹화" msgctxt "#30103" msgid "Show type:" msgstr "표시 유형:" msgctxt "#30104" msgid "New and rerun" msgstr "새로운 것 및 재방송" msgctxt "#30105" msgid "New only" msgstr "새로운 것만" msgctxt "#30106" msgid "Live only" msgstr "라이브 만" msgctxt "#30107" msgid "Channel:" msgstr "채널:" msgctxt "#30108" msgid "Any Channel" msgstr "모든채널" msgctxt "#30110" msgid "Airtime:" msgstr "방송시간" msgctxt "#30111" msgid "Anytime" msgstr "항상" msgctxt "#30120" msgid "Delete Timer" msgstr "타이머 삭제" msgctxt "#30121" msgid "Delete this episode timer only" msgstr "이 에피소드의 타이머만 삭제" msgctxt "#30122" msgid "Delete the entire series" msgstr "전체 시리즈 삭제" msgctxt "#30130" msgid "Created by Repeating Timer" msgstr "반복 타이머로 생성" msgctxt "#30131" msgid "One time (manual)" msgstr "한 번 (수동)" msgctxt "#30132" msgid "One time (guide)" msgstr "한 번 (가이드)" msgctxt "#30133" msgid "One time (wishlist)" msgstr "한 번 (소원목록)" msgctxt "#30134" msgid "Repeating (manual)" msgstr "반복 (수동)" msgctxt "#30135" msgid "Repeating (guide)" msgstr "반복 (가이드)" msgctxt "#30136" msgid "Repeating (wishlist)" msgstr "반복 (소원목록)" msgctxt "#30140" msgid "Normal" msgstr "보통" msgctxt "#30141" msgid "High" msgstr "높음" msgctxt "#30142" msgid "Low" msgstr "낮음" msgctxt "#30150" msgid "New Episodes Only" msgstr "최신 에피소드만" msgctxt "#30151" msgid "New and Rerun Episodes" msgstr "최신 및 재방영 에피소드" msgctxt "#30152" msgid "Live Only" msgstr "라이브 만" msgctxt "#30160" msgid "Not Set" msgstr "설정되지 않음" msgctxt "#30161" msgid "Keep Latest Recordings" msgstr "최신 녹화 보존" msgctxt "#30162" msgid "Keep Until I Watch" msgstr "시청할 때까지 보존" msgctxt "#30163" msgid "Keep Until Space Needed" msgstr "저장공간이 더 필요할 때까지 보존" msgctxt "#30164" msgid "Keep Until I Delete" msgstr "삭제할 때까지 보존" msgctxt "#30165" msgid "Keep For 1 Week" msgstr "1주일 보존" msgctxt "#30170" msgid "Keep As Many As Possible" msgstr "최대한 보존" msgctxt "#30171" msgid "Keep 1 Recording" msgstr "녹화 1편 보존" msgctxt "#30172" msgid "Keep 2 Recordings" msgstr "녹화 2편 보존" msgctxt "#30173" msgid "Keep 3 Recordings" msgstr "녹화 3편 보존" msgctxt "#30174" msgid "Keep 4 Recordings" msgstr "녹화 4편 보존" msgctxt "#30175" msgid "Keep 5 Recordings" msgstr "녹화 5편 보존" msgctxt "#30176" msgid "Keep 6 Recordings" msgstr "녹화 6편 보존" msgctxt "#30177" msgid "Keep 7 Recordings" msgstr "녹화 7편 보존" msgctxt "#30178" msgid "Keep 10 Recordings" msgstr "녹화 10편 보존" pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.lt_lt/000077500000000000000000000000001354134156400257135ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.lt_lt/strings.po000066400000000000000000000152511354134156400277500ustar00rootroot00000000000000# Kodi Media Center language file # Addon Name: PVR WMC Client # Addon id: pvr.wmc # Addon Provider: KrustyReturns and scarecrow420 msgid "" msgstr "" "Project-Id-Version: KODI Main\n" "Report-Msgid-Bugs-To: https://github.com/xbmc/xbmc/issues/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Kodi Translation Team\n" "Language-Team: Lithuanian (Lithuania) (http://www.transifex.com/projects/p/kodi-main/language/lt_LT/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: lt_LT\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);\n" msgctxt "#30000" msgid "Server Hostname or IP" msgstr "Serverio vardas arba IP" msgctxt "#30001" msgid "Keep IP address to 127.0.0.1, if server is running on this same system" msgstr "IP adresą palikite 127.0.0.1, jei serveris veikia toje pačioje sistemoje" msgctxt "#30002" msgid "Port Number" msgstr "Prievado numeris" msgctxt "#30003" msgid "Stream timeout, unknown problem" msgstr "Baigėsi srauto laukimo laikas, nežinoma problema" msgctxt "#30004" msgid "No video data found on this channel" msgstr "Šiame kanale nerasta vaizdo duomenų" msgctxt "#30005" msgid "Tuner is needed for recording" msgstr "Norint įrašyti reikalingas imtuvas" msgctxt "#30006" msgid "Recording delete failed, file in use or write protected" msgstr "Nepavyko ištrinti įrašo, failas naudojamas arba apsaugotas nuo pakeitimų" msgctxt "#30007" msgid "Recording delete failed, recorded file doesn't exist" msgstr "Nepavyko ištrinti įrašo, įrašytas failas neegzistuoja" msgctxt "#30008" msgid "Recording file not found" msgstr "Įrašo failas nerastas" msgctxt "#30009" msgid "Alternate channel chosen: " msgstr "Pasirinktas alternatyvus kanalas:" msgctxt "#30010" msgid "Alternate time chosen: " msgstr "Pasirinktas alternatyvus laikas:" msgctxt "#30011" msgid "Can't start, tuner is no longer available" msgstr "Neįmanoma pradėtas, imtuvas nebepasiekiamas" msgctxt "#30012" msgid "Channel content is protected" msgstr "Kanalo turinys yra apsaugotas" msgctxt "#30013" msgid "End time increased by " msgstr "Pabaigos laikas padidintas" msgctxt "#30014" msgid "Enable SignalStatus calls" msgstr "Įjungti SignalStatus kreipinius" msgctxt "#30015" msgid "Refresh SignalStatus Interval (sec)" msgstr "SignalStatus atnaujinimo intervalas (sek)" msgctxt "#30016" msgid "Store Resume/Watched status on server" msgstr "Saugoti pratęsimo/peržiūrėjimo būseną serveryje" msgctxt "#30017" msgid "Recorded TV folder not found" msgstr "TV įrašų aplankas nerastas" msgctxt "#30018" msgid "Recorded TV folder cannot be opened" msgstr "TV įrašų aplankas negali būti atidarytas" msgctxt "#30019" msgid "ServerWMC version update is available (%s)" msgstr "Galimas ServerWMC versijos atnaujinimas (%s)" msgctxt "#30020" msgid "All tuners for this channel are busy" msgstr "Visi šio kanalo imtuvai užimti" msgctxt "#30021" msgid "LiveTV timed-out" msgstr "Baigėsi Live TV laukimo laikas" msgctxt "#30022" msgid "LiveTV error, exited early" msgstr "Live TV klaida, išeita anksčiau" msgctxt "#30023" msgid "Recording stream timed-out" msgstr "Baigėsi įrašo transliacijos laukimo laikas" msgctxt "#30024" msgid "Recording stream exited early" msgstr "Srauto įrašymas nutrūko anksčiau" msgctxt "#30025" msgid "Use WakeOnLAN to wake up server" msgstr "Naudoti WakeOnLAN, norint pažadinti serverį" msgctxt "#30026" msgid "Sending WakeOnLAN to server..." msgstr "Siunčiama WakeOnLAN į serverį..." msgctxt "#30027" msgid "Time drift between client and backend of %s minutes" msgstr "Laiko paklaida tarp kliento ir posistemės %s minutės" msgctxt "#30100" msgid "Recording Preference" msgstr "Įrašymo nuostata" msgctxt "#30101" msgid "Record this episode only" msgstr "Įrašyti tik šį epizodą" msgctxt "#30102" msgid "Record the series" msgstr "Įrašyti serialą" msgctxt "#30103" msgid "Show type:" msgstr "Rodyti tipą:" msgctxt "#30104" msgid "New and rerun" msgstr "Nauji ir kartojimai" msgctxt "#30105" msgid "New only" msgstr "Tik nauji" msgctxt "#30106" msgid "Live only" msgstr "Tik gyva transliacija" msgctxt "#30107" msgid "Channel:" msgstr "Kanalas:" msgctxt "#30108" msgid "Any Channel" msgstr "Bet kuris kanalas" msgctxt "#30110" msgid "Airtime:" msgstr "Transliacijos laikas:" msgctxt "#30111" msgid "Anytime" msgstr "Bet kuriuo metu" msgctxt "#30120" msgid "Delete Timer" msgstr "Ištrinti laikmatį" msgctxt "#30121" msgid "Delete this episode timer only" msgstr "Ištrinti tik šio epizodo laikmatį" msgctxt "#30122" msgid "Delete the entire series" msgstr "Ištrinti visą serialą" msgctxt "#30130" msgid "Created by Repeating Timer" msgstr "Sukurta kartojant laikmatį" msgctxt "#30131" msgid "One time (manual)" msgstr "Vieną kartą (vadovas)" msgctxt "#30132" msgid "One time (guide)" msgstr "Vieną kartą (instrukcija)" msgctxt "#30133" msgid "One time (wishlist)" msgstr "Vieną kartą (sąrašas)" msgctxt "#30134" msgid "Repeating (manual)" msgstr "Pasikartojantis (vadovas)" msgctxt "#30135" msgid "Repeating (guide)" msgstr "Pasikartojantis (instrukcija)" msgctxt "#30136" msgid "Repeating (wishlist)" msgstr "Pasikartojantis (sąrašas)" msgctxt "#30140" msgid "Normal" msgstr "Normalus" msgctxt "#30141" msgid "High" msgstr "Aukštas" msgctxt "#30142" msgid "Low" msgstr "Žemas" msgctxt "#30150" msgid "New Episodes Only" msgstr "Tik nauji epizodai" msgctxt "#30151" msgid "New and Rerun Episodes" msgstr "Nauji ir pasikartojantys epizodai" msgctxt "#30152" msgid "Live Only" msgstr "Dabar" msgctxt "#30160" msgid "Not Set" msgstr "Nenustatyta" msgctxt "#30161" msgid "Keep Latest Recordings" msgstr "Saugoti naujausius įrašus" msgctxt "#30162" msgid "Keep Until I Watch" msgstr "Saugoti kol peržiūrėsiu" msgctxt "#30163" msgid "Keep Until Space Needed" msgstr "Saugoti kol prireiks vietos" msgctxt "#30164" msgid "Keep Until I Delete" msgstr "Saugoti kol ištrinsiu" msgctxt "#30165" msgid "Keep For 1 Week" msgstr "Saugoti 1 savaitę" msgctxt "#30170" msgid "Keep As Many As Possible" msgstr "Saugoti kiek įmanoma daugiau" msgctxt "#30171" msgid "Keep 1 Recording" msgstr "Saugoti 1 įrašą" msgctxt "#30172" msgid "Keep 2 Recordings" msgstr "Saugoti 2 įrašus" msgctxt "#30173" msgid "Keep 3 Recordings" msgstr "Saugoti 3 įrašus" msgctxt "#30174" msgid "Keep 4 Recordings" msgstr "Saugoti 4 įrašus" msgctxt "#30175" msgid "Keep 5 Recordings" msgstr "Saugoti 5 įrašus" msgctxt "#30176" msgid "Keep 6 Recordings" msgstr "Saugoti 6 įrašus" msgctxt "#30177" msgid "Keep 7 Recordings" msgstr "Saugoti 7 įrašus" msgctxt "#30178" msgid "Keep 10 Recordings" msgstr "Saugoti 10 įrašų" pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.lv_lv/000077500000000000000000000000001354134156400257175ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.lv_lv/strings.po000066400000000000000000000115451354134156400277560ustar00rootroot00000000000000# Kodi Media Center language file # Addon Name: PVR WMC Client # Addon id: pvr.wmc # Addon Provider: KrustyReturns and scarecrow420 msgid "" msgstr "" "Project-Id-Version: KODI Main\n" "Report-Msgid-Bugs-To: https://github.com/xbmc/xbmc/issues/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Kodi Translation Team\n" "Language-Team: Latvian (Latvia) (http://www.transifex.com/projects/p/kodi-main/language/lv_LV/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: lv_LV\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);\n" msgctxt "#30000" msgid "Server Hostname or IP" msgstr "Servera saimniekvārds vai IP" msgctxt "#30001" msgid "Keep IP address to 127.0.0.1, if server is running on this same system" msgstr "Paturēt IP adresi 127.0.0.1, ja serveris darbojas tajā pašā sistēmā" msgctxt "#30002" msgid "Port Number" msgstr "Porta numurs" msgctxt "#30003" msgid "Stream timeout, unknown problem" msgstr "Straumēšanas noilgums, nezināma problēma" msgctxt "#30004" msgid "No video data found on this channel" msgstr "Šajā kanālā nav atrasti video dati" msgctxt "#30005" msgid "Tuner is needed for recording" msgstr "Lai ierakstītu, ir nepieciešams uztvērējs" msgctxt "#30006" msgid "Recording delete failed, file in use or write protected" msgstr "Ieraksta dzēšana neizdevās, failu izmanto vai arī tas ir rakstīšanai aizsargāts" msgctxt "#30007" msgid "Recording delete failed, recorded file doesn't exist" msgstr "Ieraksta dzēšana neizdevās, ieraksta fails neeksistē" msgctxt "#30008" msgid "Recording file not found" msgstr "Ierakstīšanas fails nav atrasts" msgctxt "#30009" msgid "Alternate channel chosen: " msgstr "Izvēlēts alternatīvs kanāls:" msgctxt "#30010" msgid "Alternate time chosen: " msgstr "Izvēlēts alternatīvs laiks:" msgctxt "#30011" msgid "Can't start, tuner is no longer available" msgstr "Nevar sākt, uztvērējs vairs nav pieejams" msgctxt "#30012" msgid "Channel content is protected" msgstr "Kanāla saturs ir aizsargāts" msgctxt "#30013" msgid "End time increased by " msgstr "Beigu laiks palielināts par" msgctxt "#30014" msgid "Enable SignalStatus calls" msgstr "Ieslēgt SignalStatus izsaukumus" msgctxt "#30015" msgid "Refresh SignalStatus Interval (sec)" msgstr "SignalStatus atsvaidzināšanas intervāls (sek)" msgctxt "#30016" msgid "Store Resume/Watched status on server" msgstr "Glabāt atsākšanas/noskatīšanās statusu serverī" msgctxt "#30017" msgid "Recorded TV folder not found" msgstr "TV ierakstu mape nav atrasta" msgctxt "#30018" msgid "Recorded TV folder cannot be opened" msgstr "TV ierakstu mapi nevar atvērt" msgctxt "#30019" msgid "ServerWMC version update is available (%s)" msgstr "Pieejams ServerWMC versijas atjauninājums (%s)" msgctxt "#30020" msgid "All tuners for this channel are busy" msgstr "Visi uztvērēji šim kanālam ir aizņemti" msgctxt "#30021" msgid "LiveTV timed-out" msgstr "Tiešraides TV noilgums" msgctxt "#30022" msgid "LiveTV error, exited early" msgstr "Tiešraides TV kļūda, izgāja par agru" msgctxt "#30023" msgid "Recording stream timed-out" msgstr "Ierakstīšanas plūsmai iestājās noilgums" msgctxt "#30024" msgid "Recording stream exited early" msgstr "Ierakstīšanas plūsma izgāja par agru" msgctxt "#30025" msgid "Use WakeOnLAN to wake up server" msgstr "Izmantot WakeOnLAN, lai pamodinātu serveri" msgctxt "#30026" msgid "Sending WakeOnLAN to server..." msgstr "Sūta serverim WakeOnLAN..." msgctxt "#30027" msgid "Time drift between client and backend of %s minutes" msgstr "Laika nobīde starp klientu un galasistēmu %s minūtes" msgctxt "#30100" msgid "Recording Preference" msgstr "Ierakstīšanas izvēle" msgctxt "#30101" msgid "Record this episode only" msgstr "Ierakstīt tikai šo sēriju" msgctxt "#30102" msgid "Record the series" msgstr "Ierakstīt sērijas" msgctxt "#30103" msgid "Show type:" msgstr "Pārraides veids:" msgctxt "#30104" msgid "New and rerun" msgstr "Jauni un atkārtojumi" msgctxt "#30105" msgid "New only" msgstr "Tikai jauni" msgctxt "#30106" msgid "Live only" msgstr "Tikai tiešraides" msgctxt "#30107" msgid "Channel:" msgstr "Kanāls:" msgctxt "#30108" msgid "Any Channel" msgstr "Jebkurš kanāls" msgctxt "#30110" msgid "Airtime:" msgstr "Raidlaiks:" msgctxt "#30111" msgid "Anytime" msgstr "Jebkurā laikā" msgctxt "#30120" msgid "Delete Timer" msgstr "Dzēst taimeri" msgctxt "#30121" msgid "Delete this episode timer only" msgstr "Dzēst tikai šo sērijas taimeri" msgctxt "#30122" msgid "Delete the entire series" msgstr "Dzēst visas sērijas" msgctxt "#30140" msgid "Normal" msgstr "Normāls" msgctxt "#30141" msgid "High" msgstr "Augsts" msgctxt "#30142" msgid "Low" msgstr "Zems" msgctxt "#30164" msgid "Keep Until I Delete" msgstr "Paturēt, kamēr es izdzēšu" pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.mi/000077500000000000000000000000001354134156400252025ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.mi/strings.po000066400000000000000000000014741354134156400272410ustar00rootroot00000000000000# Kodi Media Center language file # Addon Name: PVR WMC Client # Addon id: pvr.wmc # Addon Provider: KrustyReturns and scarecrow420 msgid "" msgstr "" "Project-Id-Version: KODI Main\n" "Report-Msgid-Bugs-To: https://github.com/xbmc/xbmc/issues/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Kodi Translation Team\n" "Language-Team: Maori (http://www.transifex.com/projects/p/kodi-main/language/mi/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: mi\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" msgctxt "#30107" msgid "Channel:" msgstr "Hongere:" msgctxt "#30140" msgid "Normal" msgstr "Pūnoa" msgctxt "#30141" msgid "High" msgstr "Teitei" msgctxt "#30142" msgid "Low" msgstr "Hakahaka" pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.mk_mk/000077500000000000000000000000001354134156400256735ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.mk_mk/strings.po000066400000000000000000000133021354134156400277230ustar00rootroot00000000000000# Kodi Media Center language file # Addon Name: PVR WMC Client # Addon id: pvr.wmc # Addon Provider: KrustyReturns and scarecrow420 msgid "" msgstr "" "Project-Id-Version: KODI Main\n" "Report-Msgid-Bugs-To: https://github.com/xbmc/xbmc/issues/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Kodi Translation Team\n" "Language-Team: Macedonian (Macedonia) (http://www.transifex.com/projects/p/kodi-main/language/mk_MK/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: mk_MK\n" "Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n" msgctxt "#30000" msgid "Server Hostname or IP" msgstr "Hostname или IP на серверот" msgctxt "#30001" msgid "Keep IP address to 127.0.0.1, if server is running on this same system" msgstr "Задржи ја IP адресата 127.0.0.1, ако овој компјутер е серверот" msgctxt "#30002" msgid "Port Number" msgstr "Број на порта" msgctxt "#30003" msgid "Stream timeout, unknown problem" msgstr "Истече врската кон stream-от, непознат проблем" msgctxt "#30004" msgid "No video data found on this channel" msgstr "Нема видео податоци на овој канал" msgctxt "#30005" msgid "Tuner is needed for recording" msgstr "Потребен е тјунер за снимање" msgctxt "#30006" msgid "Recording delete failed, file in use or write protected" msgstr "Не може да се избрише снимката, фајлот се користи или е заштитен" msgctxt "#30007" msgid "Recording delete failed, recorded file doesn't exist" msgstr "Не може да се избрише снимката, фајлот не постои" msgctxt "#30008" msgid "Recording file not found" msgstr "Снимката не е најдена" msgctxt "#30009" msgid "Alternate channel chosen: " msgstr "Алтернативен одбран канал:" msgctxt "#30010" msgid "Alternate time chosen: " msgstr "Алтернативно одбрано време:" msgctxt "#30011" msgid "Can't start, tuner is no longer available" msgstr "Тјунерот повеќе не е достапен" msgctxt "#30012" msgid "Channel content is protected" msgstr "Содржината на каналот е заштитена" msgctxt "#30013" msgid "End time increased by " msgstr "Крајното време зголемено за" msgctxt "#30014" msgid "Enable SignalStatus calls" msgstr "Овозможи SignalStatus повици" msgctxt "#30015" msgid "Refresh SignalStatus Interval (sec)" msgstr "Обнови го интервалот за SignalStatus (сек.)" msgctxt "#30016" msgid "Store Resume/Watched status on server" msgstr "Зачувај го статусот за Изгледани/Продолжи на серверот" msgctxt "#30017" msgid "Recorded TV folder not found" msgstr "Фолдерот за ТВ снимки не е најден" msgctxt "#30018" msgid "Recorded TV folder cannot be opened" msgstr "Не може да се отвори фолдерот за ТВ снимки" msgctxt "#30019" msgid "ServerWMC version update is available (%s)" msgstr "Постои нова верзија на ServerWMC (%s)" msgctxt "#30020" msgid "All tuners for this channel are busy" msgstr "Сите тјунери за овој канал се зафатени" msgctxt "#30021" msgid "LiveTV timed-out" msgstr "Не беше остварена врска со програмата" msgctxt "#30022" msgid "LiveTV error, exited early" msgstr "Грешка со програмата во живо, прекината е пред време" msgctxt "#30023" msgid "Recording stream timed-out" msgstr "Му истече времето на stream-от за снимање" msgctxt "#30024" msgid "Recording stream exited early" msgstr "Рано е прекинат stream-от на снимката" msgctxt "#30025" msgid "Use WakeOnLAN to wake up server" msgstr "Користи WakeOnLAN за будење на серверот" msgctxt "#30026" msgid "Sending WakeOnLAN to server..." msgstr "Праќање на WakeOnLAN до серверот..." msgctxt "#30027" msgid "Time drift between client and backend of %s minutes" msgstr "Постои временска разлика од %s минути меѓу клиентот и backend-ot" msgctxt "#30100" msgid "Recording Preference" msgstr "Преференција за снимање" msgctxt "#30101" msgid "Record this episode only" msgstr "Сними ја само оваа епизода" msgctxt "#30102" msgid "Record the series" msgstr "Сними ја серијата" msgctxt "#30103" msgid "Show type:" msgstr "Тип на шоу:" msgctxt "#30104" msgid "New and rerun" msgstr "Нови и повторени" msgctxt "#30105" msgid "New only" msgstr "Само нови" msgctxt "#30106" msgid "Live only" msgstr "Само во живо" msgctxt "#30107" msgid "Channel:" msgstr "Канал:" msgctxt "#30108" msgid "Any Channel" msgstr "Сите канали" msgctxt "#30110" msgid "Airtime:" msgstr "Време на емитување" msgctxt "#30111" msgid "Anytime" msgstr "Секое време" msgctxt "#30120" msgid "Delete Timer" msgstr "Избриши го тајмерот" msgctxt "#30121" msgid "Delete this episode timer only" msgstr "Избриши го тајмерот само за оваа епизода" msgctxt "#30122" msgid "Delete the entire series" msgstr "Избриши ја целата серија" msgctxt "#30140" msgid "Normal" msgstr "Нормално" msgctxt "#30141" msgid "High" msgstr "висок" msgctxt "#30142" msgid "Low" msgstr "низок" pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.mn_mn/000077500000000000000000000000001354134156400257015ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.mn_mn/strings.po000066400000000000000000000014471354134156400277400ustar00rootroot00000000000000# Kodi Media Center language file # Addon Name: PVR WMC Client # Addon id: pvr.wmc # Addon Provider: KrustyReturns and scarecrow420 msgid "" msgstr "" "Project-Id-Version: KODI Main\n" "Report-Msgid-Bugs-To: https://github.com/xbmc/xbmc/issues/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Kodi Translation Team\n" "Language-Team: Mongolian (Mongolia) (http://www.transifex.com/projects/p/kodi-main/language/mn_MN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: mn_MN\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" msgctxt "#30140" msgid "Normal" msgstr "Энгийн" msgctxt "#30141" msgid "High" msgstr "Өндөр" msgctxt "#30142" msgid "Low" msgstr "Бага" pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.ms_my/000077500000000000000000000000001354134156400257215ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.ms_my/strings.po000066400000000000000000000150021354134156400277500ustar00rootroot00000000000000# Kodi Media Center language file # Addon Name: PVR WMC Client # Addon id: pvr.wmc # Addon Provider: KrustyReturns and scarecrow420 msgid "" msgstr "" "Project-Id-Version: KODI Main\n" "Report-Msgid-Bugs-To: https://github.com/xbmc/xbmc/issues/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Kodi Translation Team\n" "Language-Team: Malay (Malaysia) (http://www.transifex.com/projects/p/kodi-main/language/ms_MY/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ms_MY\n" "Plural-Forms: nplurals=1; plural=0;\n" msgctxt "#30000" msgid "Server Hostname or IP" msgstr "Nama hos atau IP Pelayan" msgctxt "#30001" msgid "Keep IP address to 127.0.0.1, if server is running on this same system" msgstr "Pastikan alamat IP pada 127.0.0.1, jika pelayan berjalan dalam sistem yang sama" msgctxt "#30002" msgid "Port Number" msgstr "Nombor Port" msgctxt "#30003" msgid "Stream timeout, unknown problem" msgstr "Had tamat masa strim, masalah tidak diketahui" msgctxt "#30004" msgid "No video data found on this channel" msgstr "Tiada data video ditemui dalam saluran ini" msgctxt "#30005" msgid "Tuner is needed for recording" msgstr "Penala diperlukan untuk rakaman" msgctxt "#30006" msgid "Recording delete failed, file in use or write protected" msgstr "Pemadaman rakaman gagal, fail sedang digunakan atau dilindung-tulis" msgctxt "#30007" msgid "Recording delete failed, recorded file doesn't exist" msgstr "Pemadaman rakaman gagal, fail rakaman tidak wujud" msgctxt "#30008" msgid "Recording file not found" msgstr "Fail rakaman tidak ditemui" msgctxt "#30009" msgid "Alternate channel chosen: " msgstr "Saluran alternatif dipilih:" msgctxt "#30010" msgid "Alternate time chosen: " msgstr "Masa alternatif dipilih:" msgctxt "#30011" msgid "Can't start, tuner is no longer available" msgstr "Tidak dapat mulakan, penala tidak tersedia" msgctxt "#30012" msgid "Channel content is protected" msgstr "Kandungan saluran dilindungi" msgctxt "#30013" msgid "End time increased by " msgstr "Masa tamat ditingkatkan sebanyak" msgctxt "#30014" msgid "Enable SignalStatus calls" msgstr "Benarkan panggilan Status Isyarat" msgctxt "#30015" msgid "Refresh SignalStatus Interval (sec)" msgstr "Segar Semula Sela Status Isyarat (saat)" msgctxt "#30016" msgid "Store Resume/Watched status on server" msgstr "Simpan status Sambung/Ditonton dalam pelayan" msgctxt "#30017" msgid "Recorded TV folder not found" msgstr "Folder TV dirakam tidak ditemui" msgctxt "#30018" msgid "Recorded TV folder cannot be opened" msgstr "Folder TV dirakam tidak dapat dibuka" msgctxt "#30019" msgid "ServerWMC version update is available (%s)" msgstr "Kemaskini versi ServerWMC tersedia (%s)" msgctxt "#30020" msgid "All tuners for this channel are busy" msgstr "Semua penala untuk saluran ini sibuk" msgctxt "#30021" msgid "LiveTV timed-out" msgstr "Had masa tamat LiveTV" msgctxt "#30022" msgid "LiveTV error, exited early" msgstr "Ralat LiveTV, telah wujud sebelum ini" msgctxt "#30023" msgid "Recording stream timed-out" msgstr "Had masa tamat strim rakaman" msgctxt "#30024" msgid "Recording stream exited early" msgstr "Strim rakaman telah wujud sebelum ini" msgctxt "#30025" msgid "Use WakeOnLAN to wake up server" msgstr "Guna WakeOnLAN untuk bangunkan pelayan" msgctxt "#30026" msgid "Sending WakeOnLAN to server..." msgstr "Menghantar WakeOnLAN kepada pelayan..." msgctxt "#30027" msgid "Time drift between client and backend of %s minutes" msgstr "Hanyutan masa diantara klien dan bahagian belakang sebanyak %s minit" msgctxt "#30100" msgid "Recording Preference" msgstr "Keutamaan Rakaman" msgctxt "#30101" msgid "Record this episode only" msgstr "Rakam episod ini sahaja" msgctxt "#30102" msgid "Record the series" msgstr "Rakam siri" msgctxt "#30103" msgid "Show type:" msgstr "Tunjuk jenis:" msgctxt "#30104" msgid "New and rerun" msgstr "Baharu dan jalan semula" msgctxt "#30105" msgid "New only" msgstr "Baharu sahaja" msgctxt "#30106" msgid "Live only" msgstr "Langsung sahaja" msgctxt "#30107" msgid "Channel:" msgstr "Saluran:" msgctxt "#30108" msgid "Any Channel" msgstr "Mana-mana Saluran" msgctxt "#30110" msgid "Airtime:" msgstr "Masa siaran:" msgctxt "#30111" msgid "Anytime" msgstr "Bila-bila Masa" msgctxt "#30120" msgid "Delete Timer" msgstr "Padam Pemasa" msgctxt "#30121" msgid "Delete this episode timer only" msgstr "Padam pemasa episod ini sahaja" msgctxt "#30122" msgid "Delete the entire series" msgstr "Padam keseluruhan siri" msgctxt "#30130" msgid "Created by Repeating Timer" msgstr "Dicipta oleh Pemasa Pengulangan" msgctxt "#30131" msgid "One time (manual)" msgstr "Satu kali (manual)" msgctxt "#30132" msgid "One time (guide)" msgstr "Satu kali (panduan)" msgctxt "#30133" msgid "One time (wishlist)" msgstr "Satu kali (senarai hajat)" msgctxt "#30134" msgid "Repeating (manual)" msgstr "Pengulangan (manual)" msgctxt "#30135" msgid "Repeating (guide)" msgstr "Pengulangan (panduan)" msgctxt "#30136" msgid "Repeating (wishlist)" msgstr "Pengulangan (senarai hajat)" msgctxt "#30140" msgid "Normal" msgstr "Biasa" msgctxt "#30141" msgid "High" msgstr "Tinggi" msgctxt "#30142" msgid "Low" msgstr "Rendah" msgctxt "#30150" msgid "New Episodes Only" msgstr "Episod Baharu Sahaja" msgctxt "#30151" msgid "New and Rerun Episodes" msgstr "Episod Baharu dan Jalan Semula" msgctxt "#30152" msgid "Live Only" msgstr "Langsung Sahaja" msgctxt "#30160" msgid "Not Set" msgstr "Tidak Ditetapkan" msgctxt "#30161" msgid "Keep Latest Recordings" msgstr "Kekalkan Rakaman Terkini" msgctxt "#30162" msgid "Keep Until I Watch" msgstr "Kekalkan Sehingga Saya Tonton" msgctxt "#30163" msgid "Keep Until Space Needed" msgstr "Kekalkan Sehingga Ruang Diperlukan" msgctxt "#30164" msgid "Keep Until I Delete" msgstr "Kekalkan Sehingga Saya Padam" msgctxt "#30165" msgid "Keep For 1 Week" msgstr "Kekalkan Selama 1 Minggu" msgctxt "#30170" msgid "Keep As Many As Possible" msgstr "Kekalkan Sebanyak Yang Boleh" msgctxt "#30171" msgid "Keep 1 Recording" msgstr "Kekalkan 1 Rakaman" msgctxt "#30172" msgid "Keep 2 Recordings" msgstr "Kekalkan 2 Rakaman" msgctxt "#30173" msgid "Keep 3 Recordings" msgstr "Kekalkan 3 Rakaman" msgctxt "#30174" msgid "Keep 4 Recordings" msgstr "Kekalkan 4 Rakaman" msgctxt "#30175" msgid "Keep 5 Recordings" msgstr "Kekalkan 5 Rakaman" msgctxt "#30176" msgid "Keep 6 Recordings" msgstr "Kekalkan 6 Rakaman" msgctxt "#30177" msgid "Keep 7 Recordings" msgstr "Kekalkan 7 Rakaman" msgctxt "#30178" msgid "Keep 10 Recordings" msgstr "Kekalkan 10 Rakaman" pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.mt_mt/000077500000000000000000000000001354134156400257155ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.mt_mt/strings.po000066400000000000000000000102411354134156400277440ustar00rootroot00000000000000# Kodi Media Center language file # Addon Name: PVR WMC Client # Addon id: pvr.wmc # Addon Provider: KrustyReturns and scarecrow420 msgid "" msgstr "" "Project-Id-Version: KODI Main\n" "Report-Msgid-Bugs-To: https://github.com/xbmc/xbmc/issues/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Kodi Translation Team\n" "Language-Team: Maltese (Malta) (http://www.transifex.com/projects/p/kodi-main/language/mt_MT/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: mt_MT\n" "Plural-Forms: nplurals=4; plural=(n==1 ? 0 : n==0 || ( n%100>1 && n%100<11) ? 1 : (n%100>10 && n%100<20 ) ? 2 : 3);\n" msgctxt "#30000" msgid "Server Hostname or IP" msgstr "Hostname u IP tas-server" msgctxt "#30001" msgid "Keep IP address to 127.0.0.1, if server is running on this same system" msgstr "Żomm l-indirizz tal-IP 127.0.0.1, jekk is-server qed jaħdem fuq din i-sistema stess" msgctxt "#30002" msgid "Port Number" msgstr "Numru tal-port" msgctxt "#30003" msgid "Stream timeout, unknown problem" msgstr "Skada l-ħin tal-istream, problema mhux magħrufa" msgctxt "#30004" msgid "No video data found on this channel" msgstr "Ma nstabet l-ebda nformazzjoni ta' vidjos fuq dan l-istazzjon" msgctxt "#30005" msgid "Tuner is needed for recording" msgstr "Hemm bżonn ta' tuner biex tirrekordja" msgctxt "#30006" msgid "Recording delete failed, file in use or write protected" msgstr "Ma setax jitħassar ir-rekording - il-fajl qed jintuża jew ma jistax jinkiteb fih" msgctxt "#30007" msgid "Recording delete failed, recorded file doesn't exist" msgstr "Ma setax jitħassar ir-rekording, il-fajl am jeżistix" msgctxt "#30008" msgid "Recording file not found" msgstr "Il-Fajl tar-rekording ma nstabx" msgctxt "#30009" msgid "Alternate channel chosen: " msgstr "Intagħżel stazzjon alternattiv:" msgctxt "#30010" msgid "Alternate time chosen: " msgstr "Intagħżel ħin alternattiv:" msgctxt "#30011" msgid "Can't start, tuner is no longer available" msgstr "Ma setax jinbeda, it-tuner m'għadux disponibbli" msgctxt "#30012" msgid "Channel content is protected" msgstr "Il-Kontenut tal-istazzjon huwa protett" msgctxt "#30013" msgid "End time increased by " msgstr "Il-Ħin tat-tmiem ġie miżjud b'" msgctxt "#30014" msgid "Enable SignalStatus calls" msgstr "Attiva sejħiet SignalStatus" msgctxt "#30015" msgid "Refresh SignalStatus Interval (sec)" msgstr "Intervall ta' aġġornament SingalStatus (sek)" msgctxt "#30016" msgid "Store Resume/Watched status on server" msgstr "Żomm l-istatus Kompli/Rajt fuq is-server" msgctxt "#30017" msgid "Recorded TV folder not found" msgstr "Il-Fowlder ta' TV irrekordjat ma nstabx" msgctxt "#30018" msgid "Recorded TV folder cannot be opened" msgstr "Il-Fowlder ta' TV irrekordjat ma setax jinfetaħ" msgctxt "#30019" msgid "ServerWMC version update is available (%s)" msgstr "Hemm aġġornament disponibbli ta' ServerWMC (%s)" msgctxt "#30020" msgid "All tuners for this channel are busy" msgstr "It-Tuners kollha għal dan l-istazzjon qed jintużaw" msgctxt "#30021" msgid "LiveTV timed-out" msgstr "Skada l-ħin ta' TVLajv" msgctxt "#30022" msgid "LiveTV error, exited early" msgstr "Żball filt- TVLajv, ħareġ kmieni" msgctxt "#30023" msgid "Recording stream timed-out" msgstr "Skada l-ħin tal- istream ta' rrekordjar" msgctxt "#30024" msgid "Recording stream exited early" msgstr "L-istream ta' rrekordjar ħareġ kmieni" msgctxt "#30025" msgid "Use WakeOnLAN to wake up server" msgstr "Użz l-WakeOnLAN biex tqajjem is-server" msgctxt "#30026" msgid "Sending WakeOnLAN to server..." msgstr "Qed tintbagħat WakeOnLAN lis-server..." msgctxt "#30027" msgid "Time drift between client and backend of %s minutes" msgstr "Differenza fil-ħin bejn il-klijent u l-backend ta %s minuti" msgctxt "#30101" msgid "Record this episode only" msgstr "Irrekordja dan l-episodju biss" msgctxt "#30107" msgid "Channel:" msgstr "Stazzjon:" msgctxt "#30122" msgid "Delete the entire series" msgstr "Ħassar is-serje kollha" msgctxt "#30140" msgid "Normal" msgstr "Normali" msgctxt "#30141" msgid "High" msgstr "Filmati/Atturi" msgctxt "#30142" msgid "Low" msgstr "Filmati/Generi" pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.my_mm/000077500000000000000000000000001354134156400257135ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.my_mm/strings.po000066400000000000000000000016161354134156400277500ustar00rootroot00000000000000# Kodi Media Center language file # Addon Name: PVR WMC Client # Addon id: pvr.wmc # Addon Provider: KrustyReturns and scarecrow420 msgid "" msgstr "" "Project-Id-Version: KODI Main\n" "Report-Msgid-Bugs-To: https://github.com/xbmc/xbmc/issues/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Kodi Translation Team\n" "Language-Team: Burmese (Myanmar) (http://www.transifex.com/projects/p/kodi-main/language/my_MM/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: my_MM\n" "Plural-Forms: nplurals=1; plural=0;\n" msgctxt "#30107" msgid "Channel:" msgstr "ချယ်နယ် -" msgctxt "#30140" msgid "Normal" msgstr "ပုံမှန်" msgctxt "#30141" msgid "High" msgstr "အမြင့်စား" msgctxt "#30142" msgid "Low" msgstr "အနိမ့်စား" pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.nb_no/000077500000000000000000000000001354134156400256705ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.nb_no/strings.po000066400000000000000000000145771354134156400277370ustar00rootroot00000000000000# Kodi Media Center language file # Addon Name: PVR WMC Client # Addon id: pvr.wmc # Addon Provider: KrustyReturns and scarecrow420 msgid "" msgstr "" "Project-Id-Version: KODI Main\n" "Report-Msgid-Bugs-To: https://github.com/xbmc/xbmc/issues/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Kodi Translation Team\n" "Language-Team: Norwegian Bokmål (Norway) (http://www.transifex.com/projects/p/kodi-main/language/nb_NO/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: nb_NO\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" msgctxt "#30000" msgid "Server Hostname or IP" msgstr "Tjenernavn eller IP" msgctxt "#30001" msgid "Keep IP address to 127.0.0.1, if server is running on this same system" msgstr "Behold IP-adressen 127.0.0.1 om tjeneren kjører på samme system." msgctxt "#30002" msgid "Port Number" msgstr "Portnummer" msgctxt "#30003" msgid "Stream timeout, unknown problem" msgstr "Tidsavbrudd for stream - ukjent problem" msgctxt "#30004" msgid "No video data found on this channel" msgstr "Ingen videodata funnet på denne kanalen" msgctxt "#30005" msgid "Tuner is needed for recording" msgstr "En tuner kreves for opptak" msgctxt "#30006" msgid "Recording delete failed, file in use or write protected" msgstr "Sletting av opptak mislyktes. Filen er i bruk eller skrivebeskyttet" msgctxt "#30007" msgid "Recording delete failed, recorded file doesn't exist" msgstr "Sletting av opptak mislyktes. Filen eksisterer ikke." msgctxt "#30008" msgid "Recording file not found" msgstr "Filen for opptaket ble ikke funnet" msgctxt "#30009" msgid "Alternate channel chosen: " msgstr "Alternativ kanal valgt:" msgctxt "#30010" msgid "Alternate time chosen: " msgstr "Alternativ tid valgt:" msgctxt "#30011" msgid "Can't start, tuner is no longer available" msgstr "Kan ikke starte, tuner er ikke lenger tilgjengelig" msgctxt "#30012" msgid "Channel content is protected" msgstr "Kanalinnhold er beskyttet" msgctxt "#30013" msgid "End time increased by " msgstr "Avsluttningstid økt med" msgctxt "#30014" msgid "Enable SignalStatus calls" msgstr "Aktiver SignalStatus kallinger" msgctxt "#30015" msgid "Refresh SignalStatus Interval (sec)" msgstr "Oppdater SignalStatus intervell (sek)" msgctxt "#30016" msgid "Store Resume/Watched status on server" msgstr "Lagre Gjenoppta/overvåket -status på tjener" msgctxt "#30017" msgid "Recorded TV folder not found" msgstr "Mappen for TV opptak ikke funnet" msgctxt "#30018" msgid "Recorded TV folder cannot be opened" msgstr "Mappen for TV opptak kan ikke åpnes" msgctxt "#30019" msgid "ServerWMC version update is available (%s)" msgstr "ServerWMC-versjonsoppdatering tilgjengelig (%s)" msgctxt "#30020" msgid "All tuners for this channel are busy" msgstr "Alle tunere for denne kanalen er opptatt" msgctxt "#30021" msgid "LiveTV timed-out" msgstr "Tidsavbrudd for direkte-TV" msgctxt "#30022" msgid "LiveTV error, exited early" msgstr "Feil med direkte-TV - avsluttet tidlig" msgctxt "#30023" msgid "Recording stream timed-out" msgstr "Tidsavbrudd for opptaksstrøm" msgctxt "#30024" msgid "Recording stream exited early" msgstr "Opptaksstrøm avsluttet tidlig" msgctxt "#30025" msgid "Use WakeOnLAN to wake up server" msgstr "Bruk StartMedLAN for å starte opp tjeneren" msgctxt "#30026" msgid "Sending WakeOnLAN to server..." msgstr "Sender StartPåLAN til tjener…" msgctxt "#30027" msgid "Time drift between client and backend of %s minutes" msgstr "Tidsforskjell mellom kunde og administrator er %s minutter" msgctxt "#30100" msgid "Recording Preference" msgstr "Opptaksvalg" msgctxt "#30101" msgid "Record this episode only" msgstr "Ta opp kun denne episoden" msgctxt "#30102" msgid "Record the series" msgstr "Ta opp hele serien" msgctxt "#30103" msgid "Show type:" msgstr "Vis type:" msgctxt "#30104" msgid "New and rerun" msgstr "Nye og repriser" msgctxt "#30105" msgid "New only" msgstr "Kun nye" msgctxt "#30106" msgid "Live only" msgstr "Kun live" msgctxt "#30107" msgid "Channel:" msgstr "Kanal:" msgctxt "#30108" msgid "Any Channel" msgstr "Hvilken som helst kanal" msgctxt "#30110" msgid "Airtime:" msgstr "Sendes" msgctxt "#30111" msgid "Anytime" msgstr "Når som helst" msgctxt "#30120" msgid "Delete Timer" msgstr "Slett tidsur" msgctxt "#30121" msgid "Delete this episode timer only" msgstr "Slett tidsur kun for denne episoden" msgctxt "#30122" msgid "Delete the entire series" msgstr "Slett hele serien" msgctxt "#30130" msgid "Created by Repeating Timer" msgstr "Opprettet av gjentangende ur" msgctxt "#30131" msgid "One time (manual)" msgstr "Én gang (manuell)" msgctxt "#30132" msgid "One time (guide)" msgstr "Én gang (guide)" msgctxt "#30133" msgid "One time (wishlist)" msgstr "Én gang (ønskeliste)" msgctxt "#30134" msgid "Repeating (manual)" msgstr "Gjentagende (manuell)" msgctxt "#30135" msgid "Repeating (guide)" msgstr "Gjentagende (guide)" msgctxt "#30136" msgid "Repeating (wishlist)" msgstr "Gjentagende (ønskeliste)" msgctxt "#30140" msgid "Normal" msgstr "Normal" msgctxt "#30141" msgid "High" msgstr "Høy" msgctxt "#30142" msgid "Low" msgstr "Lav" msgctxt "#30150" msgid "New Episodes Only" msgstr "Kun nye episoder" msgctxt "#30151" msgid "New and Rerun Episodes" msgstr "Nye episoder og repriser" msgctxt "#30152" msgid "Live Only" msgstr "Kun direkte" msgctxt "#30160" msgid "Not Set" msgstr "Ikke satt" msgctxt "#30161" msgid "Keep Latest Recordings" msgstr "Behold siste opptak" msgctxt "#30162" msgid "Keep Until I Watch" msgstr "Behold til sett" msgctxt "#30163" msgid "Keep Until Space Needed" msgstr "Behold til plass trengs" msgctxt "#30164" msgid "Keep Until I Delete" msgstr "Behold til jeg sletter" msgctxt "#30165" msgid "Keep For 1 Week" msgstr "Behold i én uke" msgctxt "#30170" msgid "Keep As Many As Possible" msgstr "Behold så mange som mulig" msgctxt "#30171" msgid "Keep 1 Recording" msgstr "Behold ett opptak" msgctxt "#30172" msgid "Keep 2 Recordings" msgstr "Behold to opptak" msgctxt "#30173" msgid "Keep 3 Recordings" msgstr "Behold tre opptak" msgctxt "#30174" msgid "Keep 4 Recordings" msgstr "Behold fire opptak" msgctxt "#30175" msgid "Keep 5 Recordings" msgstr "Behold fem opptak" msgctxt "#30176" msgid "Keep 6 Recordings" msgstr "Behold seks opptak" msgctxt "#30177" msgid "Keep 7 Recordings" msgstr "Behold syv opptak" msgctxt "#30178" msgid "Keep 10 Recordings" msgstr "Behold ti opptak" pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.nl_nl/000077500000000000000000000000001354134156400256775ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.nl_nl/strings.po000066400000000000000000000146711354134156400277410ustar00rootroot00000000000000# Kodi Media Center language file # Addon Name: PVR WMC Client # Addon id: pvr.wmc # Addon Provider: KrustyReturns and scarecrow420 msgid "" msgstr "" "Project-Id-Version: KODI Main\n" "Report-Msgid-Bugs-To: https://github.com/xbmc/xbmc/issues/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Kodi Translation Team\n" "Language-Team: Dutch (Netherlands) (http://www.transifex.com/projects/p/kodi-main/language/nl_NL/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: nl_NL\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" msgctxt "#30000" msgid "Server Hostname or IP" msgstr "Hostname of IP-adres van server" msgctxt "#30001" msgid "Keep IP address to 127.0.0.1, if server is running on this same system" msgstr "Houd IP-adres op 127.0.0.1, als de server op hetzelfde systeem draait" msgctxt "#30002" msgid "Port Number" msgstr "Poortnummer" msgctxt "#30003" msgid "Stream timeout, unknown problem" msgstr "Stream time-out, onbekend probleem" msgctxt "#30004" msgid "No video data found on this channel" msgstr "Geen videodata gevonden op dit kanaal" msgctxt "#30005" msgid "Tuner is needed for recording" msgstr "Tuner is benodigd voor opnemen" msgctxt "#30006" msgid "Recording delete failed, file in use or write protected" msgstr "Opname verwijderen mislukt, bestand is in gebruik of is beschermd tegen schrijven" msgctxt "#30007" msgid "Recording delete failed, recorded file doesn't exist" msgstr "Opname verwijderen mislukt, opgenomen bestand bestaat niet" msgctxt "#30008" msgid "Recording file not found" msgstr "Opnamebestand niet gevonden" msgctxt "#30009" msgid "Alternate channel chosen: " msgstr "Alternatief kanaal gekozen:" msgctxt "#30010" msgid "Alternate time chosen: " msgstr "Alternatieve tijd gekozen:" msgctxt "#30011" msgid "Can't start, tuner is no longer available" msgstr "Kan niet starten, tuner is niet langer beschikbaar" msgctxt "#30012" msgid "Channel content is protected" msgstr "Kanaalinhoud is beschermd" msgctxt "#30013" msgid "End time increased by " msgstr "Eindtijd verhoogd met" msgctxt "#30014" msgid "Enable SignalStatus calls" msgstr "Signaalstatus-oproepen inschakelen" msgctxt "#30015" msgid "Refresh SignalStatus Interval (sec)" msgstr "Ververs Signaalstatus interval (sec)" msgctxt "#30016" msgid "Store Resume/Watched status on server" msgstr "Bewaar hervat/bekeken status op server" msgctxt "#30017" msgid "Recorded TV folder not found" msgstr "TV opname-folder niet gevonden" msgctxt "#30018" msgid "Recorded TV folder cannot be opened" msgstr "OpgenomenTV folder kan niet worden geopend" msgctxt "#30019" msgid "ServerWMC version update is available (%s)" msgstr "ServerWMC versie update is beschikbaar (%s)" msgctxt "#30020" msgid "All tuners for this channel are busy" msgstr "Alle tuners voor dit kanaal zijn in gebruik" msgctxt "#30021" msgid "LiveTV timed-out" msgstr "LiveTV timed-out" msgctxt "#30022" msgid "LiveTV error, exited early" msgstr "LiveTV error, Vroegtijdig beëindigd " msgctxt "#30023" msgid "Recording stream timed-out" msgstr "Opnamestream timed-out" msgctxt "#30024" msgid "Recording stream exited early" msgstr "Opnamestream vroegtijdig beëindigd" msgctxt "#30025" msgid "Use WakeOnLAN to wake up server" msgstr "Gebruik WakeOnLAN om server te ontwaken" msgctxt "#30026" msgid "Sending WakeOnLAN to server..." msgstr "Versturen WakeOnLAN naar server..." msgctxt "#30027" msgid "Time drift between client and backend of %s minutes" msgstr "Tijdsverschil tussen opdrachtgever en backend van% s minuten" msgctxt "#30100" msgid "Recording Preference" msgstr "Opnamevoorkeur" msgctxt "#30101" msgid "Record this episode only" msgstr "Neem alleen deze aflevering op" msgctxt "#30102" msgid "Record the series" msgstr "Neem gehele serie op" msgctxt "#30103" msgid "Show type:" msgstr "Showtype:" msgctxt "#30104" msgid "New and rerun" msgstr "Nieuw en herhaling" msgctxt "#30105" msgid "New only" msgstr "Alleen nieuw" msgctxt "#30106" msgid "Live only" msgstr "Alleen live" msgctxt "#30107" msgid "Channel:" msgstr "Kanaal:" msgctxt "#30108" msgid "Any Channel" msgstr "Elk kanaal" msgctxt "#30110" msgid "Airtime:" msgstr "Uitzendtijd:" msgctxt "#30111" msgid "Anytime" msgstr "Altijd" msgctxt "#30120" msgid "Delete Timer" msgstr "Verwijder timer" msgctxt "#30121" msgid "Delete this episode timer only" msgstr "Verwijder deze afleveringstimer alleen" msgctxt "#30122" msgid "Delete the entire series" msgstr "Verwijder de gehele serie" msgctxt "#30130" msgid "Created by Repeating Timer" msgstr "Gecreëerd door Herhalingstimer" msgctxt "#30131" msgid "One time (manual)" msgstr "Eén keer (handmatig)" msgctxt "#30132" msgid "One time (guide)" msgstr "Eën tijd (gids)" msgctxt "#30133" msgid "One time (wishlist)" msgstr "Eén tijd (wenslijst)" msgctxt "#30134" msgid "Repeating (manual)" msgstr "Herhaling (handmatig)" msgctxt "#30135" msgid "Repeating (guide)" msgstr "Herhaling (gids)" msgctxt "#30136" msgid "Repeating (wishlist)" msgstr "Herhaling (wenslijst)" msgctxt "#30140" msgid "Normal" msgstr "Normaal" msgctxt "#30141" msgid "High" msgstr "Hoog" msgctxt "#30142" msgid "Low" msgstr "Laag" msgctxt "#30150" msgid "New Episodes Only" msgstr "Alleen nieuwe afleveringen" msgctxt "#30151" msgid "New and Rerun Episodes" msgstr "Nieuw en herhaalafleveringen" msgctxt "#30152" msgid "Live Only" msgstr "Alleen live" msgctxt "#30160" msgid "Not Set" msgstr "Niet ingesteld" msgctxt "#30161" msgid "Keep Latest Recordings" msgstr "Bewaar laatste opnames" msgctxt "#30162" msgid "Keep Until I Watch" msgstr "Bewaar tot ik kijk" msgctxt "#30163" msgid "Keep Until Space Needed" msgstr "Bewaar tot ruimte benodigd is" msgctxt "#30164" msgid "Keep Until I Delete" msgstr "Bewaar totdat ik verwijder" msgctxt "#30165" msgid "Keep For 1 Week" msgstr "Bewaar voor 1 week" msgctxt "#30170" msgid "Keep As Many As Possible" msgstr "Bewaar zo veel mogelijk" msgctxt "#30171" msgid "Keep 1 Recording" msgstr "Bewaar 1 opname" msgctxt "#30172" msgid "Keep 2 Recordings" msgstr "Bewaar 2 opnames" msgctxt "#30173" msgid "Keep 3 Recordings" msgstr "Bewaar 3 opnames" msgctxt "#30174" msgid "Keep 4 Recordings" msgstr "Bewaard 4 opnames" msgctxt "#30175" msgid "Keep 5 Recordings" msgstr "Bewaar 5 opnames" msgctxt "#30176" msgid "Keep 6 Recordings" msgstr "Bewaar 6 opnames" msgctxt "#30177" msgid "Keep 7 Recordings" msgstr "Bewaar 7 opnames" msgctxt "#30178" msgid "Keep 10 Recordings" msgstr "Bewaar 10 opnames" pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.pl_pl/000077500000000000000000000000001354134156400257035ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.pl_pl/strings.po000066400000000000000000000154461354134156400277460ustar00rootroot00000000000000# Kodi Media Center language file # Addon Name: PVR WMC Client # Addon id: pvr.wmc # Addon Provider: KrustyReturns and scarecrow420 msgid "" msgstr "" "Project-Id-Version: KODI Main\n" "Report-Msgid-Bugs-To: https://github.com/xbmc/xbmc/issues/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Kodi Translation Team\n" "Language-Team: Polish (Poland) (http://www.transifex.com/projects/p/kodi-main/language/pl_PL/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: pl_PL\n" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" msgctxt "#30000" msgid "Server Hostname or IP" msgstr "Nazwa lub adres serwera" msgctxt "#30001" msgid "Keep IP address to 127.0.0.1, if server is running on this same system" msgstr "Zachowaj adres IP 127.0.0.1, jeśli serwer jest uruchomiony na tym samym systemie" msgctxt "#30002" msgid "Port Number" msgstr "Port" msgctxt "#30003" msgid "Stream timeout, unknown problem" msgstr "Przekroczono limit czasu oczekiwania na transmisję, nieznany błąd" msgctxt "#30004" msgid "No video data found on this channel" msgstr "Brak transmisji wideo dla tego kanału" msgctxt "#30005" msgid "Tuner is needed for recording" msgstr "Brak dostępnego tunera dla funkcji nagrywania" msgctxt "#30006" msgid "Recording delete failed, file in use or write protected" msgstr "Nieudane usunięcie nagrania, plik jest w użyciu lub zabezpieczony przed zapisem" msgctxt "#30007" msgid "Recording delete failed, recorded file doesn't exist" msgstr "Nieudane usunięcie nagrania, plik nagrania nie istnieje" msgctxt "#30008" msgid "Recording file not found" msgstr "Plik nagrania niedostępny" msgctxt "#30009" msgid "Alternate channel chosen: " msgstr "Wybrany alternatywny kanał:" msgctxt "#30010" msgid "Alternate time chosen: " msgstr "Wybrany alternatywny czas:" msgctxt "#30011" msgid "Can't start, tuner is no longer available" msgstr "Nieudane uruchomienie, tuner jest niedostępny" msgctxt "#30012" msgid "Channel content is protected" msgstr "Zawartość kanału jest zabezpieczona" msgctxt "#30013" msgid "End time increased by " msgstr "Czas zakończenia przesunięty o" msgctxt "#30014" msgid "Enable SignalStatus calls" msgstr "Pokazuj jakość sygnału" msgctxt "#30015" msgid "Refresh SignalStatus Interval (sec)" msgstr "Częstotliwość odświeżania jakości sygnału (w sekundach)" msgctxt "#30016" msgid "Store Resume/Watched status on server" msgstr "Zachowuj stany odtwarzania na serwerze" msgctxt "#30017" msgid "Recorded TV folder not found" msgstr "Nie znaleziono folderu nagrań telewizyjnych" msgctxt "#30018" msgid "Recorded TV folder cannot be opened" msgstr " Nie można otworzyć folderu nagrań telewizyjnych" msgctxt "#30019" msgid "ServerWMC version update is available (%s)" msgstr "Dostępna jest aktualizacja wersji serwera (%s)" msgctxt "#30020" msgid "All tuners for this channel are busy" msgstr "Wszystkie tunery dla tego kanału są zajęte" msgctxt "#30021" msgid "LiveTV timed-out" msgstr "Przekroczono limit czasu połączenia" msgctxt "#30022" msgid "LiveTV error, exited early" msgstr "Błąd transmisji, przedwczesne zamknięcie" msgctxt "#30023" msgid "Recording stream timed-out" msgstr "Przekroczono limit czasu rozpoczęcia nagrania" msgctxt "#30024" msgid "Recording stream exited early" msgstr "Błąd nagrywania, przedwczesne zamknięcie transmisji" msgctxt "#30025" msgid "Use WakeOnLAN to wake up server" msgstr "Używaj zdalnego wybudzania serwera" msgctxt "#30026" msgid "Sending WakeOnLAN to server..." msgstr "Wysyłanie polecenia wybudzania do serwera..." msgctxt "#30027" msgid "Time drift between client and backend of %s minutes" msgstr "Przesunięcie czasu pomiędzy klientem a serwerem o %s minut" msgctxt "#30100" msgid "Recording Preference" msgstr "Preferencje nagrywania" msgctxt "#30101" msgid "Record this episode only" msgstr "Nagraj tylko ten odcinek" msgctxt "#30102" msgid "Record the series" msgstr "Nagrywaj cały serial" msgctxt "#30103" msgid "Show type:" msgstr "Pokazuj typ:" msgctxt "#30104" msgid "New and rerun" msgstr "Nowe i ponownie nadawane" msgctxt "#30105" msgid "New only" msgstr "Tylko nowe" msgctxt "#30106" msgid "Live only" msgstr "Tylko na żywo" msgctxt "#30107" msgid "Channel:" msgstr "Kanał:" msgctxt "#30108" msgid "Any Channel" msgstr "Dowolny kanał" msgctxt "#30110" msgid "Airtime:" msgstr "Czas emisji:" msgctxt "#30111" msgid "Anytime" msgstr "Kiedykolwiek" msgctxt "#30120" msgid "Delete Timer" msgstr "Usuń zadanie" msgctxt "#30121" msgid "Delete this episode timer only" msgstr "Usuń zaplanowane nagranie tylko tego odcinka" msgctxt "#30122" msgid "Delete the entire series" msgstr "Usuń całą serię" msgctxt "#30130" msgid "Created by Repeating Timer" msgstr "Utworzone przez zadanie cykliczne" msgctxt "#30131" msgid "One time (manual)" msgstr "Jednorazowo (manualnie)" msgctxt "#30132" msgid "One time (guide)" msgstr "Jednorazowo (przewodnik)" msgctxt "#30133" msgid "One time (wishlist)" msgstr "Jednorazowo (lista)" msgctxt "#30134" msgid "Repeating (manual)" msgstr "Cyklicznie (manualnie)" msgctxt "#30135" msgid "Repeating (guide)" msgstr "Cyklicznie (przewodnik)" msgctxt "#30136" msgid "Repeating (wishlist)" msgstr "Cyklicznie (lista)" msgctxt "#30140" msgid "Normal" msgstr "Normalny" msgctxt "#30141" msgid "High" msgstr "Wysoka" msgctxt "#30142" msgid "Low" msgstr "Niska" msgctxt "#30150" msgid "New Episodes Only" msgstr "Tylko nowe odcinki" msgctxt "#30151" msgid "New and Rerun Episodes" msgstr "Nowe i ponownie emitowane odcinki" msgctxt "#30152" msgid "Live Only" msgstr "Tylko na żywo" msgctxt "#30160" msgid "Not Set" msgstr "Nie ustawiono" msgctxt "#30161" msgid "Keep Latest Recordings" msgstr "Zachowuj ostatnie nagrania" msgctxt "#30162" msgid "Keep Until I Watch" msgstr "Zachowuj do pierwszego obejrzenia" msgctxt "#30163" msgid "Keep Until Space Needed" msgstr "Zachowuj do momentu aż zabraknie przestrzeni dyskowej" msgctxt "#30164" msgid "Keep Until I Delete" msgstr "Zachowuj do momentu usunięcia" msgctxt "#30165" msgid "Keep For 1 Week" msgstr "Zachowuj przez 1 tydzień" msgctxt "#30170" msgid "Keep As Many As Possible" msgstr "Zachowuj ile to tylko możliwe" msgctxt "#30171" msgid "Keep 1 Recording" msgstr "Zachowuj 1 nagranie" msgctxt "#30172" msgid "Keep 2 Recordings" msgstr "Zachowuj 2 nagrania" msgctxt "#30173" msgid "Keep 3 Recordings" msgstr "Zachowuj 3 nagrania" msgctxt "#30174" msgid "Keep 4 Recordings" msgstr "Zachowuj 4 nagrania" msgctxt "#30175" msgid "Keep 5 Recordings" msgstr "Zachowuj 5 nagrań" msgctxt "#30176" msgid "Keep 6 Recordings" msgstr "Zachowuj 6 nagrań" msgctxt "#30177" msgid "Keep 7 Recordings" msgstr "Zachowuj 7 nagrań" msgctxt "#30178" msgid "Keep 10 Recordings" msgstr "Zachowuj 10 nagrań" pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.pt_br/000077500000000000000000000000001354134156400257035ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.pt_br/strings.po000066400000000000000000000153131354134156400277370ustar00rootroot00000000000000# Kodi Media Center language file # Addon Name: PVR WMC Client # Addon id: pvr.wmc # Addon Provider: KrustyReturns and scarecrow420 msgid "" msgstr "" "Project-Id-Version: KODI Main\n" "Report-Msgid-Bugs-To: https://github.com/xbmc/xbmc/issues/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Kodi Translation Team\n" "Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/kodi-main/language/pt_BR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" msgctxt "#30000" msgid "Server Hostname or IP" msgstr "Nome do servidor ou IP" msgctxt "#30001" msgid "Keep IP address to 127.0.0.1, if server is running on this same system" msgstr "Manter o endereço IP 127.0.0.1, se o servidor está rodando no mesmo sistema" msgctxt "#30002" msgid "Port Number" msgstr "Número da Porta" msgctxt "#30003" msgid "Stream timeout, unknown problem" msgstr "Stream expirou, problema desconhecido" msgctxt "#30004" msgid "No video data found on this channel" msgstr "Não há dados de vídeo encontrados neste canal" msgctxt "#30005" msgid "Tuner is needed for recording" msgstr "Sintonizador é necessário para a gravação" msgctxt "#30006" msgid "Recording delete failed, file in use or write protected" msgstr "Deletar arquivo gravação falhou, arquivo em uso ou protegido para sobrescrita" msgctxt "#30007" msgid "Recording delete failed, recorded file doesn't exist" msgstr "Deletar arquivo gravação falhou, arquivo de gravação não existe" msgctxt "#30008" msgid "Recording file not found" msgstr "Arquivo de gravação não encontrado" msgctxt "#30009" msgid "Alternate channel chosen: " msgstr "Escolher canal alternativo:" msgctxt "#30010" msgid "Alternate time chosen: " msgstr "Escolher horário alternativo:" msgctxt "#30011" msgid "Can't start, tuner is no longer available" msgstr "Não é possível iniciar, sintonizador não está mais disponível" msgctxt "#30012" msgid "Channel content is protected" msgstr "Conteúdo do canal é protegido" msgctxt "#30013" msgid "End time increased by " msgstr "Tempo final aumentado por" msgctxt "#30014" msgid "Enable SignalStatus calls" msgstr "Ativar chamadas de Estatus de Sinal" msgctxt "#30015" msgid "Refresh SignalStatus Interval (sec)" msgstr "Atualizar o intervalo do Estatus do Sinal (Seg)" msgctxt "#30016" msgid "Store Resume/Watched status on server" msgstr "Armazenar o estatus de Resumir/Assistido no servidor" msgctxt "#30017" msgid "Recorded TV folder not found" msgstr "Pasta gravação de TV não encontrada" msgctxt "#30018" msgid "Recorded TV folder cannot be opened" msgstr "Pasta gravação de TV não pode ser aberta." msgctxt "#30019" msgid "ServerWMC version update is available (%s)" msgstr "Versão de atualização do ServerWMC está disponível (%s)" msgctxt "#30020" msgid "All tuners for this channel are busy" msgstr "Todos os sintonizadores para este canal estão ocupados" msgctxt "#30021" msgid "LiveTV timed-out" msgstr "Tempo limite esgotado para TV ao Vivo" msgctxt "#30022" msgid "LiveTV error, exited early" msgstr "Erro TV ao Vivo, Saída antecipada" msgctxt "#30023" msgid "Recording stream timed-out" msgstr "Fluxo de gravação excedido" msgctxt "#30024" msgid "Recording stream exited early" msgstr "Fluxo de gravação saiu antecipadamente" msgctxt "#30025" msgid "Use WakeOnLAN to wake up server" msgstr "Usar WakeOnLan para despertar o servidor" msgctxt "#30026" msgid "Sending WakeOnLAN to server..." msgstr "Enviando despertar por rede para o servidor..." msgctxt "#30027" msgid "Time drift between client and backend of %s minutes" msgstr "Desvio de tempo entre cliente e back-end de %s minutos" msgctxt "#30100" msgid "Recording Preference" msgstr "Preferências de Gravação" msgctxt "#30101" msgid "Record this episode only" msgstr "Gravar somente este episódio" msgctxt "#30102" msgid "Record the series" msgstr "Gravar as séries" msgctxt "#30103" msgid "Show type:" msgstr "Mostrar tipo:" msgctxt "#30104" msgid "New and rerun" msgstr "Novo e reprise" msgctxt "#30105" msgid "New only" msgstr "Somente Novo" msgctxt "#30106" msgid "Live only" msgstr "Somente ao Vivo" msgctxt "#30107" msgid "Channel:" msgstr "Canal:" msgctxt "#30108" msgid "Any Channel" msgstr "Qualquer Canal" msgctxt "#30110" msgid "Airtime:" msgstr "Horário no ar:" msgctxt "#30111" msgid "Anytime" msgstr "Qualquer Tempo" msgctxt "#30120" msgid "Delete Timer" msgstr "Deletar Agendamento" msgctxt "#30121" msgid "Delete this episode timer only" msgstr "Deletar somente o agendamento deste episódio" msgctxt "#30122" msgid "Delete the entire series" msgstr "Deletar toda as séries" msgctxt "#30130" msgid "Created by Repeating Timer" msgstr "Criado pelo Agendamento Recursivo" msgctxt "#30131" msgid "One time (manual)" msgstr "Uma vez (manual)" msgctxt "#30132" msgid "One time (guide)" msgstr "Uma vez (guia)" msgctxt "#30133" msgid "One time (wishlist)" msgstr "Uma vez (lista desejada)" msgctxt "#30134" msgid "Repeating (manual)" msgstr "Recorrente (manual)" msgctxt "#30135" msgid "Repeating (guide)" msgstr "Recorrente (guia)" msgctxt "#30136" msgid "Repeating (wishlist)" msgstr "Recorrente (lista desejada)" msgctxt "#30140" msgid "Normal" msgstr "Normal" msgctxt "#30141" msgid "High" msgstr "Máxima" msgctxt "#30142" msgid "Low" msgstr "Mínima" msgctxt "#30150" msgid "New Episodes Only" msgstr "Somente Novos Episódios" msgctxt "#30151" msgid "New and Rerun Episodes" msgstr "Novo e Reexecute Episódios" msgctxt "#30152" msgid "Live Only" msgstr "Somente ao Vivo" msgctxt "#30160" msgid "Not Set" msgstr "Sem definição" msgctxt "#30161" msgid "Keep Latest Recordings" msgstr "Manter Gravações mais Recentes" msgctxt "#30162" msgid "Keep Until I Watch" msgstr "Manter até assistir" msgctxt "#30163" msgid "Keep Until Space Needed" msgstr "Manter até necessitar espaço" msgctxt "#30164" msgid "Keep Until I Delete" msgstr "Manter até ser deletado" msgctxt "#30165" msgid "Keep For 1 Week" msgstr "Manter por 1 semana" msgctxt "#30170" msgid "Keep As Many As Possible" msgstr "Manter o máximo possível" msgctxt "#30171" msgid "Keep 1 Recording" msgstr "Manter 1 gravação" msgctxt "#30172" msgid "Keep 2 Recordings" msgstr "Manter 2 gravações" msgctxt "#30173" msgid "Keep 3 Recordings" msgstr "Manter 3 gravações" msgctxt "#30174" msgid "Keep 4 Recordings" msgstr "Manter 4 gravações" msgctxt "#30175" msgid "Keep 5 Recordings" msgstr "Manter 5 gravações" msgctxt "#30176" msgid "Keep 6 Recordings" msgstr "Manter 6 gravações" msgctxt "#30177" msgid "Keep 7 Recordings" msgstr "Manter 7 gravações" msgctxt "#30178" msgid "Keep 10 Recordings" msgstr "Manter 10 gravações" pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.pt_pt/000077500000000000000000000000001354134156400257235ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.pt_pt/strings.po000066400000000000000000000153041354134156400277570ustar00rootroot00000000000000# Kodi Media Center language file # Addon Name: PVR WMC Client # Addon id: pvr.wmc # Addon Provider: KrustyReturns and scarecrow420 msgid "" msgstr "" "Project-Id-Version: KODI Main\n" "Report-Msgid-Bugs-To: https://github.com/xbmc/xbmc/issues/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Kodi Translation Team\n" "Language-Team: Portuguese (Portugal) (http://www.transifex.com/projects/p/kodi-main/language/pt_PT/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: pt_PT\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" msgctxt "#30000" msgid "Server Hostname or IP" msgstr "Nome ou IP do servidor" msgctxt "#30001" msgid "Keep IP address to 127.0.0.1, if server is running on this same system" msgstr "Usar o IP 127.0.0.1, se o servidor estiver presente no mesmo sistema" msgctxt "#30002" msgid "Port Number" msgstr "Número da porta" msgctxt "#30003" msgid "Stream timeout, unknown problem" msgstr "Tempo limite da emissão foi atingido por um motivo desconhecido" msgctxt "#30004" msgid "No video data found on this channel" msgstr "Não foram encontrados sinais de vídeo neste canal" msgctxt "#30005" msgid "Tuner is needed for recording" msgstr "Reque um sintonizador para a gravação" msgctxt "#30006" msgid "Recording delete failed, file in use or write protected" msgstr "Não foi possível apagar a gravação, o ficheiro está em uso ou protegido" msgctxt "#30007" msgid "Recording delete failed, recorded file doesn't exist" msgstr "Não foi possível apagar a gravação, o ficheiro não existe" msgctxt "#30008" msgid "Recording file not found" msgstr "Ficheiro de gravação não encontrado" msgctxt "#30009" msgid "Alternate channel chosen: " msgstr "Canal alternativo escolhido:" msgctxt "#30010" msgid "Alternate time chosen: " msgstr "Hora alternativa escolhida:" msgctxt "#30011" msgid "Can't start, tuner is no longer available" msgstr "Não é possível iniciar, o sintonizador não está disponível" msgctxt "#30012" msgid "Channel content is protected" msgstr "O conteúdo do canal está protegido" msgctxt "#30013" msgid "End time increased by " msgstr "Hora de fim aumentada em" msgctxt "#30014" msgid "Enable SignalStatus calls" msgstr "Ativar chamadas SignalStatus" msgctxt "#30015" msgid "Refresh SignalStatus Interval (sec)" msgstr "Intervalo de atualização SignalStatus (seg)" msgctxt "#30016" msgid "Store Resume/Watched status on server" msgstr "Guardar tempos de visionamento no servidor" msgctxt "#30017" msgid "Recorded TV folder not found" msgstr "Pasta de gravações não encontrada" msgctxt "#30018" msgid "Recorded TV folder cannot be opened" msgstr "Não foi possível abrir a pasta de gravações" msgctxt "#30019" msgid "ServerWMC version update is available (%s)" msgstr "Existe uma atualização para ServerWMC (%s)" msgctxt "#30020" msgid "All tuners for this channel are busy" msgstr "Todos os sintonizadores deste canal estão ocupados" msgctxt "#30021" msgid "LiveTV timed-out" msgstr "TV em direto expirada" msgctxt "#30022" msgid "LiveTV error, exited early" msgstr "Erro LiveTV, encerrou antes do tempo" msgctxt "#30023" msgid "Recording stream timed-out" msgstr "A emissão de gravação expirou" msgctxt "#30024" msgid "Recording stream exited early" msgstr "A emissão de gravação encerrou antes do tempo" msgctxt "#30025" msgid "Use WakeOnLAN to wake up server" msgstr "Usar WakeOnLan para iniciar o servidor" msgctxt "#30026" msgid "Sending WakeOnLAN to server..." msgstr "A enviar pacote WakeOnLan para o servidor..." msgctxt "#30027" msgid "Time drift between client and backend of %s minutes" msgstr "Desvio de tempo entre o cliente e a estrutura de %s minutos" msgctxt "#30100" msgid "Recording Preference" msgstr "Preferência de gravação" msgctxt "#30101" msgid "Record this episode only" msgstr "Gravar apenas este episódio" msgctxt "#30102" msgid "Record the series" msgstr "Gravar a série" msgctxt "#30103" msgid "Show type:" msgstr "Tipo de série:" msgctxt "#30104" msgid "New and rerun" msgstr "Novas e reposições" msgctxt "#30105" msgid "New only" msgstr "Apenas novas" msgctxt "#30106" msgid "Live only" msgstr "Apenas reposições" msgctxt "#30107" msgid "Channel:" msgstr "Canal:" msgctxt "#30108" msgid "Any Channel" msgstr "Qualquer canal" msgctxt "#30110" msgid "Airtime:" msgstr "Tempo de emissão:" msgctxt "#30111" msgid "Anytime" msgstr "Qualquer hora" msgctxt "#30120" msgid "Delete Timer" msgstr "Apagar temporizador" msgctxt "#30121" msgid "Delete this episode timer only" msgstr "Apagar apenas este temporizador" msgctxt "#30122" msgid "Delete the entire series" msgstr "Apagar toda a série" msgctxt "#30130" msgid "Created by Repeating Timer" msgstr "Criada por um temporizador recorrente" msgctxt "#30131" msgid "One time (manual)" msgstr "Uma vez (manual)" msgctxt "#30132" msgid "One time (guide)" msgstr "Uma vez (guia)" msgctxt "#30133" msgid "One time (wishlist)" msgstr "Uma vez (lista de desejos)" msgctxt "#30134" msgid "Repeating (manual)" msgstr "Repetição (manual)" msgctxt "#30135" msgid "Repeating (guide)" msgstr "Repetição (guia)" msgctxt "#30136" msgid "Repeating (wishlist)" msgstr "Repetição (lista de desejos)" msgctxt "#30140" msgid "Normal" msgstr "Normal" msgctxt "#30141" msgid "High" msgstr "Alta" msgctxt "#30142" msgid "Low" msgstr "Baixa" msgctxt "#30150" msgid "New Episodes Only" msgstr "Apenas novos episódios" msgctxt "#30151" msgid "New and Rerun Episodes" msgstr "Reposições e novos episódios" msgctxt "#30152" msgid "Live Only" msgstr "Apenas em direto" msgctxt "#30160" msgid "Not Set" msgstr "Não definido" msgctxt "#30161" msgid "Keep Latest Recordings" msgstr "Manter últimas gravações" msgctxt "#30162" msgid "Keep Until I Watch" msgstr "Manter até serem vistos" msgctxt "#30163" msgid "Keep Until Space Needed" msgstr "Manter até que seja necessário espaço" msgctxt "#30164" msgid "Keep Until I Delete" msgstr "Manter até eu que os apague" msgctxt "#30165" msgid "Keep For 1 Week" msgstr "Manter por 1 semana" msgctxt "#30170" msgid "Keep As Many As Possible" msgstr "Manter o máximo de tempo possível" msgctxt "#30171" msgid "Keep 1 Recording" msgstr "Manter 1 gravação" msgctxt "#30172" msgid "Keep 2 Recordings" msgstr "Manter 2 gravações" msgctxt "#30173" msgid "Keep 3 Recordings" msgstr "Manter 3 gravações" msgctxt "#30174" msgid "Keep 4 Recordings" msgstr "Manter 4 gravações" msgctxt "#30175" msgid "Keep 5 Recordings" msgstr "Manter 5 gravações" msgctxt "#30176" msgid "Keep 6 Recordings" msgstr "Manter 6 gravações" msgctxt "#30177" msgid "Keep 7 Recordings" msgstr "Manter 7 gravações" msgctxt "#30178" msgid "Keep 10 Recordings" msgstr "Manter 10 gravações" pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.ro_ro/000077500000000000000000000000001354134156400257155ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.ro_ro/strings.po000066400000000000000000000157061354134156400277570ustar00rootroot00000000000000# Kodi Media Center language file # Addon Name: PVR WMC Client # Addon id: pvr.wmc # Addon Provider: KrustyReturns and scarecrow420 msgid "" msgstr "" "Project-Id-Version: KODI Main\n" "Report-Msgid-Bugs-To: https://github.com/xbmc/xbmc/issues/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Kodi Translation Team\n" "Language-Team: Romanian (Romania) (http://www.transifex.com/projects/p/kodi-main/language/ro_RO/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ro_RO\n" "Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" msgctxt "#30000" msgid "Server Hostname or IP" msgstr "Nume gazdă sau adresă IP servitor" msgctxt "#30001" msgid "Keep IP address to 127.0.0.1, if server is running on this same system" msgstr "Mențineți adresa IP 127.0.0.1, dacă servitorul rulează pe același sistem" msgctxt "#30002" msgid "Port Number" msgstr "Număr port" msgctxt "#30003" msgid "Stream timeout, unknown problem" msgstr "Depășire timp alocat fluxului, problemă necunoscută" msgctxt "#30004" msgid "No video data found on this channel" msgstr "Nu au fost găsite date video pe acest canal" msgctxt "#30005" msgid "Tuner is needed for recording" msgstr "Este necesar un receptor pentru înregistrare" msgctxt "#30006" msgid "Recording delete failed, file in use or write protected" msgstr "Ștergerea înregistrării a eșuat, fișierul este în folosință sau este protejat la scriere" msgctxt "#30007" msgid "Recording delete failed, recorded file doesn't exist" msgstr "Ștergerea înregistrării a eșuat, fișierul înregistrării nu există" msgctxt "#30008" msgid "Recording file not found" msgstr "Fișierul de înregistrare nu a fost găsit" msgctxt "#30009" msgid "Alternate channel chosen: " msgstr "Canal alternativ ales: " msgctxt "#30010" msgid "Alternate time chosen: " msgstr "Ora alternativă aleasă: " msgctxt "#30011" msgid "Can't start, tuner is no longer available" msgstr "Pornire eșuată, receptorul nu mai este disponibil" msgctxt "#30012" msgid "Channel content is protected" msgstr "Conținutul canalului este protejat" msgctxt "#30013" msgid "End time increased by " msgstr "Ora de încheiere mărită cu" msgctxt "#30014" msgid "Enable SignalStatus calls" msgstr "Activează apeluri SignalStatus" msgctxt "#30015" msgid "Refresh SignalStatus Interval (sec)" msgstr "Interval de reîmprospătare a stării semnalului (sec)" msgctxt "#30016" msgid "Store Resume/Watched status on server" msgstr "Stochează stare Reluate/Văzute pe servitor" msgctxt "#30017" msgid "Recorded TV folder not found" msgstr "Dosarul de înregistrări nu a putut fi găsit" msgctxt "#30018" msgid "Recorded TV folder cannot be opened" msgstr "Dosarul de înregistrări nu poate fi deschis" msgctxt "#30019" msgid "ServerWMC version update is available (%s)" msgstr "Este disponibilă o versiune mai nouă pentruServerWMC (%s)" msgctxt "#30020" msgid "All tuners for this channel are busy" msgstr "Toți receptorii pentru acest canal sunt ocupați" msgctxt "#30021" msgid "LiveTV timed-out" msgstr "Televiziunea în direct a depășit limita de așteptare" msgctxt "#30022" msgid "LiveTV error, exited early" msgstr "Eroare televiziune în direct, a ieșit prea devreme" msgctxt "#30023" msgid "Recording stream timed-out" msgstr "Fluxul de înregistrare a depășit limita de așteptare" msgctxt "#30024" msgid "Recording stream exited early" msgstr "Fluxul de înregistrare a ieșit prematur" msgctxt "#30025" msgid "Use WakeOnLAN to wake up server" msgstr "Folosește WakeOnLAN pentru a deștepta servitorul" msgctxt "#30026" msgid "Sending WakeOnLAN to server..." msgstr "Se trimite pachetul de deșteptare (WakeOnLAN) la servitor..." msgctxt "#30027" msgid "Time drift between client and backend of %s minutes" msgstr "Decalaj de timp între client și furnizorul din spate de %s minute" msgctxt "#30100" msgid "Recording Preference" msgstr "Preferință înregistrare" msgctxt "#30101" msgid "Record this episode only" msgstr "Înregistrează doar acest episod" msgctxt "#30102" msgid "Record the series" msgstr "Înregistrează seriile" msgctxt "#30103" msgid "Show type:" msgstr "Arată tip:" msgctxt "#30104" msgid "New and rerun" msgstr "Noi și reluate" msgctxt "#30105" msgid "New only" msgstr "Doar noi" msgctxt "#30106" msgid "Live only" msgstr "Doar în direct" msgctxt "#30107" msgid "Channel:" msgstr "Canal:" msgctxt "#30108" msgid "Any Channel" msgstr "Orice canal" msgctxt "#30110" msgid "Airtime:" msgstr "Oră difuzare:" msgctxt "#30111" msgid "Anytime" msgstr "Oricând" msgctxt "#30120" msgid "Delete Timer" msgstr "Șterge cronometrul" msgctxt "#30121" msgid "Delete this episode timer only" msgstr "Șterge doar cronometrul acestui episod" msgctxt "#30122" msgid "Delete the entire series" msgstr "Șterge toată seria" msgctxt "#30130" msgid "Created by Repeating Timer" msgstr "Creat de un cronometru repetant" msgctxt "#30131" msgid "One time (manual)" msgstr "O dată (manual)" msgctxt "#30132" msgid "One time (guide)" msgstr "O dată (ghid)" msgctxt "#30133" msgid "One time (wishlist)" msgstr "O dată (listă de dorințe)" msgctxt "#30134" msgid "Repeating (manual)" msgstr "Repetant (manual)" msgctxt "#30135" msgid "Repeating (guide)" msgstr "Repetant (ghid)" msgctxt "#30136" msgid "Repeating (wishlist)" msgstr "Repetant (listă de dorințe)" msgctxt "#30140" msgid "Normal" msgstr "Normal" msgctxt "#30141" msgid "High" msgstr "Mare" msgctxt "#30142" msgid "Low" msgstr "Mică" msgctxt "#30150" msgid "New Episodes Only" msgstr "Doar episoadele noi" msgctxt "#30151" msgid "New and Rerun Episodes" msgstr "Episoade noi și reluate" msgctxt "#30152" msgid "Live Only" msgstr "Doar în direct" msgctxt "#30160" msgid "Not Set" msgstr "Nestabilit" msgctxt "#30161" msgid "Keep Latest Recordings" msgstr "Păstrează ultimele înregistrări" msgctxt "#30162" msgid "Keep Until I Watch" msgstr "Păstează până le privesc" msgctxt "#30163" msgid "Keep Until Space Needed" msgstr "Păstează până ce este nevoie de spațiu" msgctxt "#30164" msgid "Keep Until I Delete" msgstr "Păstează până le șterg" msgctxt "#30165" msgid "Keep For 1 Week" msgstr "Păstează 1 săptămână" msgctxt "#30170" msgid "Keep As Many As Possible" msgstr "Păstrează cât se poate de multe" msgctxt "#30171" msgid "Keep 1 Recording" msgstr "Păstrează 1 înregistrare" msgctxt "#30172" msgid "Keep 2 Recordings" msgstr "Păstrează 2 înregistrări" msgctxt "#30173" msgid "Keep 3 Recordings" msgstr "Păstrează 3 înregistrări" msgctxt "#30174" msgid "Keep 4 Recordings" msgstr "Păstrează 4 înregistrări" msgctxt "#30175" msgid "Keep 5 Recordings" msgstr "Păstrează 5 înregistrări" msgctxt "#30176" msgid "Keep 6 Recordings" msgstr "Păstrează 6 înregistrări" msgctxt "#30177" msgid "Keep 7 Recordings" msgstr "Păstrează 7 înregistrări" msgctxt "#30178" msgid "Keep 10 Recordings" msgstr "Păstrează 10 înregistrări" pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.ru_ru/000077500000000000000000000000001354134156400257315ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.ru_ru/strings.po000066400000000000000000000203441354134156400277650ustar00rootroot00000000000000# Kodi Media Center language file # Addon Name: PVR WMC Client # Addon id: pvr.wmc # Addon Provider: KrustyReturns and scarecrow420 msgid "" msgstr "" "Project-Id-Version: KODI Main\n" "Report-Msgid-Bugs-To: https://github.com/xbmc/xbmc/issues/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Kodi Translation Team\n" "Language-Team: Russian (Russia) (http://www.transifex.com/projects/p/kodi-main/language/ru_RU/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ru_RU\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" msgctxt "#30000" msgid "Server Hostname or IP" msgstr "Имя сервера либо его IP" msgctxt "#30001" msgid "Keep IP address to 127.0.0.1, if server is running on this same system" msgstr "Оставить IP адрес как 127.0.0.1, если сервер работает на той же машине" msgctxt "#30002" msgid "Port Number" msgstr "Номер порта" msgctxt "#30003" msgid "Stream timeout, unknown problem" msgstr "Лимит времени трансляции, проблема неизвестна" msgctxt "#30004" msgid "No video data found on this channel" msgstr "На данном канале не обнаружен видеосигнал" msgctxt "#30005" msgid "Tuner is needed for recording" msgstr "Для записи требуется блок настройки" msgctxt "#30006" msgid "Recording delete failed, file in use or write protected" msgstr "Удаление записи не выполнено, файл используется либо защищен" msgctxt "#30007" msgid "Recording delete failed, recorded file doesn't exist" msgstr "Удаление записи не выполнено, файл используется либо не существует" msgctxt "#30008" msgid "Recording file not found" msgstr "Файл с записью не найден" msgctxt "#30009" msgid "Alternate channel chosen: " msgstr "Выбран альтернативный канал:" msgctxt "#30010" msgid "Alternate time chosen: " msgstr "Выбрано альтернативное время" msgctxt "#30011" msgid "Can't start, tuner is no longer available" msgstr "Не может запуститься, тюнер больше не доступен" msgctxt "#30012" msgid "Channel content is protected" msgstr "Содержание канала защищено" msgctxt "#30013" msgid "End time increased by " msgstr "Время завершения продлено на" msgctxt "#30014" msgid "Enable SignalStatus calls" msgstr "Активировать сигналы SignalStatus " msgctxt "#30015" msgid "Refresh SignalStatus Interval (sec)" msgstr "Интервал обновления SignalStatus (сек.)" msgctxt "#30016" msgid "Store Resume/Watched status on server" msgstr "Хранить Просмотренное и Отметки о продолжении воспроизведения на сервере" msgctxt "#30017" msgid "Recorded TV folder not found" msgstr "Директория с телевизионными записями не обнаружена" msgctxt "#30018" msgid "Recorded TV folder cannot be opened" msgstr "Директория с телевизионными записями не может быть открыта" msgctxt "#30019" msgid "ServerWMC version update is available (%s)" msgstr "Доступна обновленная версия ServerWMC (%s)" msgctxt "#30020" msgid "All tuners for this channel are busy" msgstr "Все тюнеры для данного канала заняты" msgctxt "#30021" msgid "LiveTV timed-out" msgstr "Наступил лимит вещания LiveTV" msgctxt "#30022" msgid "LiveTV error, exited early" msgstr "Ошибка LiveTV, раннее завершение" msgctxt "#30023" msgid "Recording stream timed-out" msgstr "Лимит времени трансляции записи" msgctxt "#30024" msgid "Recording stream exited early" msgstr "Раннее завершение трансляции записи" msgctxt "#30025" msgid "Use WakeOnLAN to wake up server" msgstr "Использовать WakeOnLAN чтобы включать сервер" msgctxt "#30026" msgid "Sending WakeOnLAN to server..." msgstr "Отправка WakeOnLAN на сервер..." msgctxt "#30027" msgid "Time drift between client and backend of %s minutes" msgstr "Сдвиг по времени между клиентом и сервером в %s минут" msgctxt "#30100" msgid "Recording Preference" msgstr "Настройка записи" msgctxt "#30101" msgid "Record this episode only" msgstr "Запись только данного эпизода" msgctxt "#30102" msgid "Record the series" msgstr "Запись сериала" msgctxt "#30103" msgid "Show type:" msgstr "Тип показа:" msgctxt "#30104" msgid "New and rerun" msgstr "Новый, перезапуск" msgctxt "#30105" msgid "New only" msgstr "Только новый" msgctxt "#30106" msgid "Live only" msgstr "Только прямая трансляция" msgctxt "#30107" msgid "Channel:" msgstr "Канал:" msgctxt "#30108" msgid "Any Channel" msgstr "Любой Канал" msgctxt "#30110" msgid "Airtime:" msgstr "Время трансляции:" msgctxt "#30111" msgid "Anytime" msgstr "Любое время" msgctxt "#30120" msgid "Delete Timer" msgstr "Удалить таймер" msgctxt "#30121" msgid "Delete this episode timer only" msgstr "Удалить только данный таймер эпизода" msgctxt "#30122" msgid "Delete the entire series" msgstr "Удалить все серии" msgctxt "#30130" msgid "Created by Repeating Timer" msgstr "Создано повторяющимся таймером" msgctxt "#30131" msgid "One time (manual)" msgstr "Одноразовый (вручную)" msgctxt "#30132" msgid "One time (guide)" msgstr "Одноразовый (программа)" msgctxt "#30133" msgid "One time (wishlist)" msgstr "Одноразовый (избранное)" msgctxt "#30134" msgid "Repeating (manual)" msgstr "Повторяющийся (ручной)" msgctxt "#30135" msgid "Repeating (guide)" msgstr "Повторяющийся (программа)" msgctxt "#30136" msgid "Repeating (wishlist)" msgstr "Повторяющийся (избранное)" msgctxt "#30140" msgid "Normal" msgstr "Нормальное" msgctxt "#30141" msgid "High" msgstr "Высокое" msgctxt "#30142" msgid "Low" msgstr "Низкое" msgctxt "#30150" msgid "New Episodes Only" msgstr "Только новые серии" msgctxt "#30151" msgid "New and Rerun Episodes" msgstr "Новые и перевыпущенные серии" msgctxt "#30152" msgid "Live Only" msgstr "Только прямая трансляция" msgctxt "#30160" msgid "Not Set" msgstr "Не установлено" msgctxt "#30161" msgid "Keep Latest Recordings" msgstr "Сохранять последние записи" msgctxt "#30162" msgid "Keep Until I Watch" msgstr "Сохранять до просмотра" msgctxt "#30163" msgid "Keep Until Space Needed" msgstr "Сохранять пока есть место" msgctxt "#30164" msgid "Keep Until I Delete" msgstr "Сохранять до удаления" msgctxt "#30165" msgid "Keep For 1 Week" msgstr "Сохранять в течении недели" msgctxt "#30170" msgid "Keep As Many As Possible" msgstr "Сохранять как можно больше" msgctxt "#30171" msgid "Keep 1 Recording" msgstr "Сохранять 1 запись" msgctxt "#30172" msgid "Keep 2 Recordings" msgstr "Сохранять 2 записи" msgctxt "#30173" msgid "Keep 3 Recordings" msgstr "Сохранять 3 записи" msgctxt "#30174" msgid "Keep 4 Recordings" msgstr "Сохранять 4 записи" msgctxt "#30175" msgid "Keep 5 Recordings" msgstr "Сохранять 5 записей" msgctxt "#30176" msgid "Keep 6 Recordings" msgstr "Сохранять 6 записей" msgctxt "#30177" msgid "Keep 7 Recordings" msgstr "Сохранять 7 записей" msgctxt "#30178" msgid "Keep 10 Recordings" msgstr "Сохранять 10 записей" pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.si_lk/000077500000000000000000000000001354134156400256765ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.si_lk/strings.po000066400000000000000000000014631354134156400277330ustar00rootroot00000000000000# Kodi Media Center language file # Addon Name: PVR WMC Client # Addon id: pvr.wmc # Addon Provider: KrustyReturns and scarecrow420 msgid "" msgstr "" "Project-Id-Version: KODI Main\n" "Report-Msgid-Bugs-To: https://github.com/xbmc/xbmc/issues/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Kodi Translation Team\n" "Language-Team: Sinhala (Sri Lanka) (http://www.transifex.com/projects/p/kodi-main/language/si_LK/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: si_LK\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" msgctxt "#30140" msgid "Normal" msgstr "සාමාන්‍ය " msgctxt "#30141" msgid "High" msgstr "ඉහළ" msgctxt "#30142" msgid "Low" msgstr "අඩු" pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.sk_sk/000077500000000000000000000000001354134156400257075ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.sk_sk/strings.po000066400000000000000000000155031354134156400277440ustar00rootroot00000000000000# Kodi Media Center language file # Addon Name: PVR WMC Client # Addon id: pvr.wmc # Addon Provider: KrustyReturns and scarecrow420 msgid "" msgstr "" "Project-Id-Version: KODI Main\n" "Report-Msgid-Bugs-To: https://github.com/xbmc/xbmc/issues/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Kodi Translation Team\n" "Language-Team: Slovak (Slovakia) (http://www.transifex.com/projects/p/kodi-main/language/sk_SK/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: sk_SK\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" msgctxt "#30000" msgid "Server Hostname or IP" msgstr "Názov serveru alebo IP adresa" msgctxt "#30001" msgid "Keep IP address to 127.0.0.1, if server is running on this same system" msgstr "Ponechať IP adresu ako 127.0.0.1, ak server beží na tom istom systéme" msgctxt "#30002" msgid "Port Number" msgstr "Číslo portu" msgctxt "#30003" msgid "Stream timeout, unknown problem" msgstr "Vypršal čas pre získanie dátového toku, neznámy problém" msgctxt "#30004" msgid "No video data found on this channel" msgstr "Na tomto kanáli sa nenašli žiadne dáta videa" msgctxt "#30005" msgid "Tuner is needed for recording" msgstr "Pre nahrávanie je potrebný tuner" msgctxt "#30006" msgid "Recording delete failed, file in use or write protected" msgstr "Odstránenie nahrávky zlyhalo, súbor sa používa alebo je chránený proti zápisu" msgctxt "#30007" msgid "Recording delete failed, recorded file doesn't exist" msgstr "Odstránenie nahrávky zlyhalo, nahraný súbor neexistuje" msgctxt "#30008" msgid "Recording file not found" msgstr "Súbor nahrávky nebol nájdený" msgctxt "#30009" msgid "Alternate channel chosen: " msgstr "Bol zvolený alternatívny kanál:" msgctxt "#30010" msgid "Alternate time chosen: " msgstr "Bol zvolený alternatívny čas:" msgctxt "#30011" msgid "Can't start, tuner is no longer available" msgstr "Nie je možné začať, tuner už nie je k dispozícii" msgctxt "#30012" msgid "Channel content is protected" msgstr "Obsah kanálu je chránený" msgctxt "#30013" msgid "End time increased by " msgstr "Čas konca bol navýšený o" msgctxt "#30014" msgid "Enable SignalStatus calls" msgstr "Zapnúť SignalStatus volania" msgctxt "#30015" msgid "Refresh SignalStatus Interval (sec)" msgstr "Interval SignalStatus obnovy (sek.)" msgctxt "#30016" msgid "Store Resume/Watched status on server" msgstr "Uložiť na serveri stav pokračovanie/videné" msgctxt "#30017" msgid "Recorded TV folder not found" msgstr "Priečinok s TV nahrávkami nebol nájdený" msgctxt "#30018" msgid "Recorded TV folder cannot be opened" msgstr "Priečinok s TV nahrávkami nie je možné otvoriť" msgctxt "#30019" msgid "ServerWMC version update is available (%s)" msgstr "Je k dispozícii aktualizácia verzie ServerWMC (%s)" msgctxt "#30020" msgid "All tuners for this channel are busy" msgstr "Všetky tunery pre tento kanál sú zaneprázdnené" msgctxt "#30021" msgid "LiveTV timed-out" msgstr "Vypršal čas pre LiveTV" msgctxt "#30022" msgid "LiveTV error, exited early" msgstr "Chyba LiveTV, ukončené predčasne" msgctxt "#30023" msgid "Recording stream timed-out" msgstr "Vypršal čas pre dátový tok nahrávania" msgctxt "#30024" msgid "Recording stream exited early" msgstr "Dátový tok pre nahrávanie ukončený predčasne" msgctxt "#30025" msgid "Use WakeOnLAN to wake up server" msgstr "Použiť funkciu Prebudenie po LAN pre prebudenie servera" msgctxt "#30026" msgid "Sending WakeOnLAN to server..." msgstr "Serveru sa posiela správa WakeOnLAN..." msgctxt "#30027" msgid "Time drift between client and backend of %s minutes" msgstr "Časový rozdiel medzi klientom a backendom %s minút" msgctxt "#30100" msgid "Recording Preference" msgstr "Vlastnosti nahrávania" msgctxt "#30101" msgid "Record this episode only" msgstr "Nahrať len túto epizódu" msgctxt "#30102" msgid "Record the series" msgstr "Nahrávať tento seriál" msgctxt "#30103" msgid "Show type:" msgstr "Typ relácie:" msgctxt "#30104" msgid "New and rerun" msgstr "Nové časti a reprízy" msgctxt "#30105" msgid "New only" msgstr "Iba nové časti" msgctxt "#30106" msgid "Live only" msgstr "Iba živé vysielanie" msgctxt "#30107" msgid "Channel:" msgstr "Kanál:" msgctxt "#30108" msgid "Any Channel" msgstr "Akýkoľvek kanál" msgctxt "#30110" msgid "Airtime:" msgstr "Čas vysielania:" msgctxt "#30111" msgid "Anytime" msgstr "Kedykoľvek" msgctxt "#30120" msgid "Delete Timer" msgstr "Odstrániť časovač" msgctxt "#30121" msgid "Delete this episode timer only" msgstr "Odstrániť časovač iba pre túto epizódu" msgctxt "#30122" msgid "Delete the entire series" msgstr "Odstrániť časovač pre celú sériu" msgctxt "#30130" msgid "Created by Repeating Timer" msgstr "Vytvorené opakujúcim sa časovačom" msgctxt "#30131" msgid "One time (manual)" msgstr "Iba raz (ručne)" msgctxt "#30132" msgid "One time (guide)" msgstr "Iba raz (TV program)" msgctxt "#30133" msgid "One time (wishlist)" msgstr "Iba raz (zoznam želaní)" msgctxt "#30134" msgid "Repeating (manual)" msgstr "Opakovanie (ručne)" msgctxt "#30135" msgid "Repeating (guide)" msgstr "Opakovanie (TV program)" msgctxt "#30136" msgid "Repeating (wishlist)" msgstr "Opakovanie (zoznam želaní)" msgctxt "#30140" msgid "Normal" msgstr "Normálny" msgctxt "#30141" msgid "High" msgstr "Vysoká" msgctxt "#30142" msgid "Low" msgstr "Nízka" msgctxt "#30150" msgid "New Episodes Only" msgstr "Len nové epizódy" msgctxt "#30151" msgid "New and Rerun Episodes" msgstr "Nové a reprízované epizódy" msgctxt "#30152" msgid "Live Only" msgstr "Iba naživo" msgctxt "#30160" msgid "Not Set" msgstr "Nenadstavené" msgctxt "#30161" msgid "Keep Latest Recordings" msgstr "Ponechať najnovšie nahrávky" msgctxt "#30162" msgid "Keep Until I Watch" msgstr "Ponechať, dokiaľ si to nepozriem" msgctxt "#30163" msgid "Keep Until Space Needed" msgstr "Ponechať, dokiaľ nebude potrebné miesto" msgctxt "#30164" msgid "Keep Until I Delete" msgstr "Ponechať, dokiaľ to nevymažem" msgctxt "#30165" msgid "Keep For 1 Week" msgstr "Ponechať 1 týždeň" msgctxt "#30170" msgid "Keep As Many As Possible" msgstr "Ponechať toľko, koľko sa dá" msgctxt "#30171" msgid "Keep 1 Recording" msgstr "Ponechať 1 nahrávku" msgctxt "#30172" msgid "Keep 2 Recordings" msgstr "Ponechať 2 nahrávky" msgctxt "#30173" msgid "Keep 3 Recordings" msgstr "Ponechať 3 nahrávky" msgctxt "#30174" msgid "Keep 4 Recordings" msgstr "Ponechať 4 nahrávky" msgctxt "#30175" msgid "Keep 5 Recordings" msgstr "Ponechať 5 nahrávok" msgctxt "#30176" msgid "Keep 6 Recordings" msgstr "Ponechať 6 nahrávok" msgctxt "#30177" msgid "Keep 7 Recordings" msgstr "Ponechať 7 nahrávok" msgctxt "#30178" msgid "Keep 10 Recordings" msgstr "Ponechať 10 nahrávok" pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.sl_si/000077500000000000000000000000001354134156400257065ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.sl_si/strings.po000066400000000000000000000113021354134156400277340ustar00rootroot00000000000000# Kodi Media Center language file # Addon Name: PVR WMC Client # Addon id: pvr.wmc # Addon Provider: KrustyReturns and scarecrow420 msgid "" msgstr "" "Project-Id-Version: KODI Main\n" "Report-Msgid-Bugs-To: https://github.com/xbmc/xbmc/issues/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Kodi Translation Team\n" "Language-Team: Slovenian (Slovenia) (http://www.transifex.com/projects/p/kodi-main/language/sl_SI/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: sl_SI\n" "Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" msgctxt "#30000" msgid "Server Hostname or IP" msgstr "Ime strežnika ali IP" msgctxt "#30001" msgid "Keep IP address to 127.0.0.1, if server is running on this same system" msgstr "Obdrži naslov IP 127.0.0.1, če teče strežnik na istem istemu" msgctxt "#30002" msgid "Port Number" msgstr "Številka vrat" msgctxt "#30003" msgid "Stream timeout, unknown problem" msgstr "Časovni pretek pretoka, razlog ni znan" msgctxt "#30004" msgid "No video data found on this channel" msgstr "Za ta program slika ni na voljo" msgctxt "#30005" msgid "Tuner is needed for recording" msgstr "Za snemanje potrebujete tuner" msgctxt "#30006" msgid "Recording delete failed, file in use or write protected" msgstr "Brisanje posnetka je spodletelo, datoteka je v rabi ali zaščitena pred pisanjem" msgctxt "#30007" msgid "Recording delete failed, recorded file doesn't exist" msgstr "Brisanje posnetka je spodletelo, posneta datoteka ne obstaja" msgctxt "#30008" msgid "Recording file not found" msgstr "Posnetka ni mogoče najti" msgctxt "#30009" msgid "Alternate channel chosen: " msgstr "Izbran nadomestni program:" msgctxt "#30010" msgid "Alternate time chosen: " msgstr "Izbran nadomestni čas:" msgctxt "#30011" msgid "Can't start, tuner is no longer available" msgstr "Ni mogoče zagnati, sprejemnik ni več na voljo" msgctxt "#30012" msgid "Channel content is protected" msgstr "Vsebina programa je zaščitena" msgctxt "#30013" msgid "End time increased by " msgstr "Čas zaključka povečan za" msgctxt "#30014" msgid "Enable SignalStatus calls" msgstr "Omogoči klice SignalStatus" msgctxt "#30015" msgid "Refresh SignalStatus Interval (sec)" msgstr "Interval osveževanja SignalStatus (s)" msgctxt "#30016" msgid "Store Resume/Watched status on server" msgstr "Shrani stanje Nadaljuj/Pogledano na strežniku" msgctxt "#30017" msgid "Recorded TV folder not found" msgstr "Mape posnetkov TV ni mogoče najti" msgctxt "#30018" msgid "Recorded TV folder cannot be opened" msgstr "Mape posnetkov TV ni mogoče odpreti" msgctxt "#30019" msgid "ServerWMC version update is available (%s)" msgstr "Na voljo je posodobitev različice ServerWMC (%s)" msgctxt "#30020" msgid "All tuners for this channel are busy" msgstr "Vsi sprejemniki za ta program so zasedeni" msgctxt "#30021" msgid "LiveTV timed-out" msgstr "TV v živo je pretekla" msgctxt "#30022" msgid "LiveTV error, exited early" msgstr "Napaka TV v živo, prezgodnji izhod" msgctxt "#30023" msgid "Recording stream timed-out" msgstr "Pretok snemanja je pretekel" msgctxt "#30024" msgid "Recording stream exited early" msgstr "Pretok snemanja se je prezgodaj zaprl" msgctxt "#30025" msgid "Use WakeOnLAN to wake up server" msgstr "Uporabi signal WakeOnLAN za vklop strežnika" msgctxt "#30026" msgid "Sending WakeOnLAN to server..." msgstr "Pošiljanje signala WakeOnLAN strežniku ..." msgctxt "#30027" msgid "Time drift between client and backend of %s minutes" msgstr "%s-minutni časovni zamik med odjemalcem in hrbtenico" msgctxt "#30100" msgid "Recording Preference" msgstr "Nastavitve snemanja" msgctxt "#30101" msgid "Record this episode only" msgstr "Posnemi le to epizodo" msgctxt "#30102" msgid "Record the series" msgstr "Snemaj serijo" msgctxt "#30103" msgid "Show type:" msgstr "Vrsta oddaje:" msgctxt "#30104" msgid "New and rerun" msgstr "Nove in ponovitve" msgctxt "#30105" msgid "New only" msgstr "Samo novo" msgctxt "#30106" msgid "Live only" msgstr "Samo v živo" msgctxt "#30107" msgid "Channel:" msgstr "Program:" msgctxt "#30108" msgid "Any Channel" msgstr "Katerikoli program" msgctxt "#30110" msgid "Airtime:" msgstr "Termin predvajanja:" msgctxt "#30111" msgid "Anytime" msgstr "Kadarkoli" msgctxt "#30120" msgid "Delete Timer" msgstr "Izbriši časovnik" msgctxt "#30121" msgid "Delete this episode timer only" msgstr "Izbriši samo ta časovnik epizod" msgctxt "#30122" msgid "Delete the entire series" msgstr "Izbriši celotno serijo" msgctxt "#30140" msgid "Normal" msgstr "Običajno" msgctxt "#30141" msgid "High" msgstr "Visoka" msgctxt "#30142" msgid "Low" msgstr "Nizka" pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.sq_al/000077500000000000000000000000001354134156400256745ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.sq_al/strings.po000066400000000000000000000015161354134156400277300ustar00rootroot00000000000000# Kodi Media Center language file # Addon Name: PVR WMC Client # Addon id: pvr.wmc # Addon Provider: KrustyReturns and scarecrow420 msgid "" msgstr "" "Project-Id-Version: KODI Main\n" "Report-Msgid-Bugs-To: https://github.com/xbmc/xbmc/issues/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Kodi Translation Team\n" "Language-Team: Albanian (Albania) (http://www.transifex.com/projects/p/kodi-main/language/sq_AL/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: sq_AL\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" msgctxt "#30107" msgid "Channel:" msgstr "Kanali:" msgctxt "#30140" msgid "Normal" msgstr "Normal" msgctxt "#30141" msgid "High" msgstr "Lartë" msgctxt "#30142" msgid "Low" msgstr "Poshtë" pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.sr_rs/000077500000000000000000000000001354134156400257255ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.sr_rs/strings.po000066400000000000000000000176131354134156400277660ustar00rootroot00000000000000# Kodi Media Center language file # Addon Name: PVR WMC Client # Addon id: pvr.wmc # Addon Provider: KrustyReturns and scarecrow420 msgid "" msgstr "" "Project-Id-Version: KODI Main\n" "Report-Msgid-Bugs-To: https://github.com/xbmc/xbmc/issues/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Kodi Translation Team\n" "Language-Team: Serbian (Serbia) (http://www.transifex.com/projects/p/kodi-main/language/sr_RS/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: sr_RS\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" msgctxt "#30000" msgid "Server Hostname or IP" msgstr "Hostname Сервера или IP" msgctxt "#30001" msgid "Keep IP address to 127.0.0.1, if server is running on this same system" msgstr "Задржите IP адресу на 127.0.0.1, ако сервер ради на овом истом систему" msgctxt "#30002" msgid "Port Number" msgstr "Број Порта" msgctxt "#30003" msgid "Stream timeout, unknown problem" msgstr "Истек времена стрима, непознат проблем" msgctxt "#30004" msgid "No video data found on this channel" msgstr "Видео подаци нису пронађени на овом каналу" msgctxt "#30005" msgid "Tuner is needed for recording" msgstr "Пријемник је потребан за снимање" msgctxt "#30006" msgid "Recording delete failed, file in use or write protected" msgstr "Неуспело брисање снимка, датотека се користи или је заштићена од писања" msgctxt "#30007" msgid "Recording delete failed, recorded file doesn't exist" msgstr "Неуспело брисање снимка, снимљена датотека не постоји" msgctxt "#30008" msgid "Recording file not found" msgstr "Није пронађена датотека снимка" msgctxt "#30009" msgid "Alternate channel chosen: " msgstr "Алтернативни канал одабран:" msgctxt "#30010" msgid "Alternate time chosen: " msgstr "Алтернативно време одабрано:" msgctxt "#30011" msgid "Can't start, tuner is no longer available" msgstr "Покретање није могуће, пријемник више није доступан" msgctxt "#30012" msgid "Channel content is protected" msgstr "Садржај канала је заштићен" msgctxt "#30013" msgid "End time increased by " msgstr "Време завршетка повећано за" msgctxt "#30014" msgid "Enable SignalStatus calls" msgstr "Омогући позиве SignalStatus" msgctxt "#30015" msgid "Refresh SignalStatus Interval (sec)" msgstr "Интервал Освежавања SignalStatus (сек)" msgctxt "#30016" msgid "Store Resume/Watched status on server" msgstr "Сачувај статусе Настави/Погледано на серверу" msgctxt "#30017" msgid "Recorded TV folder not found" msgstr "Фасцикла Снимљени ТВ није пронађена" msgctxt "#30018" msgid "Recorded TV folder cannot be opened" msgstr "Фасцикла Снимљени ТВ се не може отворити" msgctxt "#30019" msgid "ServerWMC version update is available (%s)" msgstr "Нова верзија ServerWMC је доступна (%s)" msgctxt "#30020" msgid "All tuners for this channel are busy" msgstr "Сви пријемници за овај канал су заузети" msgctxt "#30021" msgid "LiveTV timed-out" msgstr "Истекло време за ТВ Уживо" msgctxt "#30022" msgid "LiveTV error, exited early" msgstr "Грешка за ТВ уживо, прерани излазак" msgctxt "#30023" msgid "Recording stream timed-out" msgstr "Истекло време стрима за снимање" msgctxt "#30024" msgid "Recording stream exited early" msgstr "Прерани излазак стрима за снимање" msgctxt "#30025" msgid "Use WakeOnLAN to wake up server" msgstr "Користи БуђењеПрекоLAN за буђење сервера" msgctxt "#30026" msgid "Sending WakeOnLAN to server..." msgstr "Слање БуђењеПрекоLAN серверу..." msgctxt "#30027" msgid "Time drift between client and backend of %s minutes" msgstr "Временско одступање између клијента и позадине од %s минута" msgctxt "#30100" msgid "Recording Preference" msgstr "Подешавање Снимања" msgctxt "#30101" msgid "Record this episode only" msgstr "Сними само ову епизоду" msgctxt "#30102" msgid "Record the series" msgstr "Сними серију" msgctxt "#30103" msgid "Show type:" msgstr "Врста емисије:" msgctxt "#30104" msgid "New and rerun" msgstr "Нове и репризе" msgctxt "#30105" msgid "New only" msgstr "Само нове" msgctxt "#30106" msgid "Live only" msgstr "Само уживо" msgctxt "#30107" msgid "Channel:" msgstr "Канал:" msgctxt "#30108" msgid "Any Channel" msgstr "Било који Канал" msgctxt "#30110" msgid "Airtime:" msgstr "Време емитовања:" msgctxt "#30111" msgid "Anytime" msgstr "Било када" msgctxt "#30120" msgid "Delete Timer" msgstr "Избриши Тајмер" msgctxt "#30121" msgid "Delete this episode timer only" msgstr "Избриши тајмер само ове епизоде" msgctxt "#30122" msgid "Delete the entire series" msgstr "Избриши целу серију" msgctxt "#30130" msgid "Created by Repeating Timer" msgstr "Направљено од стране Понављајућег Тајмера" msgctxt "#30131" msgid "One time (manual)" msgstr "Једном (ручно)" msgctxt "#30132" msgid "One time (guide)" msgstr "Једном (водич)" msgctxt "#30133" msgid "One time (wishlist)" msgstr "Једном (листа жеља)" msgctxt "#30134" msgid "Repeating (manual)" msgstr "Понављајуће (ручно)" msgctxt "#30135" msgid "Repeating (guide)" msgstr "Понављајуће (водич)" msgctxt "#30136" msgid "Repeating (wishlist)" msgstr "Понављајуће (листа жеља)" msgctxt "#30140" msgid "Normal" msgstr "Нормално" msgctxt "#30141" msgid "High" msgstr "Јак" msgctxt "#30142" msgid "Low" msgstr "Слаб" msgctxt "#30150" msgid "New Episodes Only" msgstr "Само Нове Епизоде" msgctxt "#30151" msgid "New and Rerun Episodes" msgstr "Нове и Репризе Епизода" msgctxt "#30152" msgid "Live Only" msgstr "Само Уживо" msgctxt "#30160" msgid "Not Set" msgstr "Није Подешено" msgctxt "#30161" msgid "Keep Latest Recordings" msgstr "Задржи Најновије Снимке" msgctxt "#30162" msgid "Keep Until I Watch" msgstr "Задржи Док Не Погледам" msgctxt "#30163" msgid "Keep Until Space Needed" msgstr "Задржи Док Простор Није Потребан" msgctxt "#30164" msgid "Keep Until I Delete" msgstr "Задржи Док Не Избришем" msgctxt "#30165" msgid "Keep For 1 Week" msgstr "Задржи 1 Недељу" msgctxt "#30170" msgid "Keep As Many As Possible" msgstr "Задржи Колико Год Је Могуће" msgctxt "#30171" msgid "Keep 1 Recording" msgstr "Задржи 1 Снимак" msgctxt "#30172" msgid "Keep 2 Recordings" msgstr "Задржи 2 Снимка" msgctxt "#30173" msgid "Keep 3 Recordings" msgstr "Задржи 3 Снимка" msgctxt "#30174" msgid "Keep 4 Recordings" msgstr "Задржи 4 Снимка" msgctxt "#30175" msgid "Keep 5 Recordings" msgstr "Задржи 5 Снимака" msgctxt "#30176" msgid "Keep 6 Recordings" msgstr "Задржи 6 Снимака" msgctxt "#30177" msgid "Keep 7 Recordings" msgstr "Задржи 7 Снимака" msgctxt "#30178" msgid "Keep 10 Recordings" msgstr "Задржи 10 Снимака" pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.sr_rs@latin/000077500000000000000000000000001354134156400270555ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.sr_rs@latin/strings.po000066400000000000000000000151211354134156400311060ustar00rootroot00000000000000# Kodi Media Center language file # Addon Name: PVR WMC Client # Addon id: pvr.wmc # Addon Provider: KrustyReturns and scarecrow420 msgid "" msgstr "" "Project-Id-Version: KODI Main\n" "Report-Msgid-Bugs-To: https://github.com/xbmc/xbmc/issues/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Kodi Translation Team\n" "Language-Team: Serbian (Latin) (Serbia) (http://www.transifex.com/projects/p/kodi-main/language/sr_RS@latin/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: sr_RS@latin\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" msgctxt "#30000" msgid "Server Hostname or IP" msgstr "Hostname Servera ili IP" msgctxt "#30001" msgid "Keep IP address to 127.0.0.1, if server is running on this same system" msgstr "Zadržite IP adresu na 127.0.0.1, ako server radi na ovom istom sistemu" msgctxt "#30002" msgid "Port Number" msgstr "Broj Porta" msgctxt "#30003" msgid "Stream timeout, unknown problem" msgstr "Istek vremena strima, nepoznat problem" msgctxt "#30004" msgid "No video data found on this channel" msgstr "Video podaci nisu pronađeni na ovom kanalu" msgctxt "#30005" msgid "Tuner is needed for recording" msgstr "Prijemnik je potreban za snimanje" msgctxt "#30006" msgid "Recording delete failed, file in use or write protected" msgstr "Neuspelo brisanje snimka, datoteka se koristi ili je zaštićena od pisanja" msgctxt "#30007" msgid "Recording delete failed, recorded file doesn't exist" msgstr "Neuspelo brisanje snimka, snimljena datoteka ne postoji" msgctxt "#30008" msgid "Recording file not found" msgstr "Nije pronađena datoteka snimka" msgctxt "#30009" msgid "Alternate channel chosen: " msgstr "Alternativni kanal odabran:" msgctxt "#30010" msgid "Alternate time chosen: " msgstr "Alternativno vreme odabrano:" msgctxt "#30011" msgid "Can't start, tuner is no longer available" msgstr "Pokretanje nije moguće, prijemnik više nije dostupan" msgctxt "#30012" msgid "Channel content is protected" msgstr "Sadržaj kanala je zaštićen" msgctxt "#30013" msgid "End time increased by " msgstr "Vreme završetka povećano za" msgctxt "#30014" msgid "Enable SignalStatus calls" msgstr "Omogući pozive SignalStatus" msgctxt "#30015" msgid "Refresh SignalStatus Interval (sec)" msgstr "Interval Osvežavanja SignalStatus (sek)" msgctxt "#30016" msgid "Store Resume/Watched status on server" msgstr "Sačuvaj statuse Nastavi/Pogledano na serveru" msgctxt "#30017" msgid "Recorded TV folder not found" msgstr "Fascikla Snimljeni TV nije pronađena" msgctxt "#30018" msgid "Recorded TV folder cannot be opened" msgstr "Fascikla Snimljeni TV se ne može otvoriti" msgctxt "#30019" msgid "ServerWMC version update is available (%s)" msgstr "Nova verzija ServerWMC je dostupna (%s)" msgctxt "#30020" msgid "All tuners for this channel are busy" msgstr "Svi prijemnici za ovaj kanal su zauzeti" msgctxt "#30021" msgid "LiveTV timed-out" msgstr "Isteklo vreme za TV Uživo" msgctxt "#30022" msgid "LiveTV error, exited early" msgstr "Greška za TV uživo, prerani izlazak" msgctxt "#30023" msgid "Recording stream timed-out" msgstr "Isteklo vreme strima za snimanje" msgctxt "#30024" msgid "Recording stream exited early" msgstr "Prerani izlazak strima za snimanje" msgctxt "#30025" msgid "Use WakeOnLAN to wake up server" msgstr "Koristi BuđenjePrekoLan za buđenje servera" msgctxt "#30026" msgid "Sending WakeOnLAN to server..." msgstr "Slanje BuđenjePrekoLan serveru..." msgctxt "#30027" msgid "Time drift between client and backend of %s minutes" msgstr "Vremensko odstupanje između klijenta i pozadine od %s minuta" msgctxt "#30100" msgid "Recording Preference" msgstr "Podešavanje Snimanja" msgctxt "#30101" msgid "Record this episode only" msgstr "Snimi samo ovu epizodu" msgctxt "#30102" msgid "Record the series" msgstr "Snimi seriju" msgctxt "#30103" msgid "Show type:" msgstr "Vrsta emisije:" msgctxt "#30104" msgid "New and rerun" msgstr "Nove i reprize" msgctxt "#30105" msgid "New only" msgstr "Samo nove" msgctxt "#30106" msgid "Live only" msgstr "Samo uživo" msgctxt "#30107" msgid "Channel:" msgstr "Kanal:" msgctxt "#30108" msgid "Any Channel" msgstr "Bilo koji Kanal" msgctxt "#30110" msgid "Airtime:" msgstr "Vreme emitovanja:" msgctxt "#30111" msgid "Anytime" msgstr "Bilo kada" msgctxt "#30120" msgid "Delete Timer" msgstr "Izbriši Tajmer" msgctxt "#30121" msgid "Delete this episode timer only" msgstr "Izbriši tajmer samo ove epizode" msgctxt "#30122" msgid "Delete the entire series" msgstr "Izbriši celu seriju" msgctxt "#30130" msgid "Created by Repeating Timer" msgstr "Napravljeno od strane Ponavljajućeg Tajmera" msgctxt "#30131" msgid "One time (manual)" msgstr "Jednom (ručno)" msgctxt "#30132" msgid "One time (guide)" msgstr "Jednom (vodič)" msgctxt "#30133" msgid "One time (wishlist)" msgstr "Jednom (lista želja)" msgctxt "#30134" msgid "Repeating (manual)" msgstr "Ponavljajuće (ručno)" msgctxt "#30135" msgid "Repeating (guide)" msgstr "Ponavljajuće (vodič)" msgctxt "#30136" msgid "Repeating (wishlist)" msgstr "Ponavljajuće (lista želja)" msgctxt "#30140" msgid "Normal" msgstr "Normalno" msgctxt "#30141" msgid "High" msgstr "Jak" msgctxt "#30142" msgid "Low" msgstr "Slab" msgctxt "#30150" msgid "New Episodes Only" msgstr "Samo Nove Epizode" msgctxt "#30151" msgid "New and Rerun Episodes" msgstr "Nove i Reprize Epizoda" msgctxt "#30152" msgid "Live Only" msgstr "Samo Uživo" msgctxt "#30160" msgid "Not Set" msgstr "Nije Podešeno" msgctxt "#30161" msgid "Keep Latest Recordings" msgstr "Zadrži Najnovije Snimke" msgctxt "#30162" msgid "Keep Until I Watch" msgstr "Zadrži Dok Ne Pogledam" msgctxt "#30163" msgid "Keep Until Space Needed" msgstr "Zadrži Dok Prostor Nije Potreban" msgctxt "#30164" msgid "Keep Until I Delete" msgstr "Zadrži Dok Ne Izbrišem" msgctxt "#30165" msgid "Keep For 1 Week" msgstr "Zadrži 1 Nedelju" msgctxt "#30170" msgid "Keep As Many As Possible" msgstr "Zadrži Koliko God Je Moguće" msgctxt "#30171" msgid "Keep 1 Recording" msgstr "Zadrži 1 Snimak" msgctxt "#30172" msgid "Keep 2 Recordings" msgstr "Zadrži 2 Snimka" msgctxt "#30173" msgid "Keep 3 Recordings" msgstr "Zadrži 3 Snimka" msgctxt "#30174" msgid "Keep 4 Recordings" msgstr "Zadrži 4 Snimka" msgctxt "#30175" msgid "Keep 5 Recordings" msgstr "Zadrži 5 Snimaka" msgctxt "#30176" msgid "Keep 6 Recordings" msgstr "Zadrži 6 Snimaka" msgctxt "#30177" msgid "Keep 7 Recordings" msgstr "Zadrži 7 Snimaka" msgctxt "#30178" msgid "Keep 10 Recordings" msgstr "Zadrži 10 Snimaka" pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.sv_se/000077500000000000000000000000001354134156400257145ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.sv_se/strings.po000066400000000000000000000147661354134156400277630ustar00rootroot00000000000000# Kodi Media Center language file # Addon Name: PVR WMC Client # Addon id: pvr.wmc # Addon Provider: KrustyReturns and scarecrow420 msgid "" msgstr "" "Project-Id-Version: KODI Main\n" "Report-Msgid-Bugs-To: https://github.com/xbmc/xbmc/issues/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Kodi Translation Team\n" "Language-Team: Swedish (Sweden) (http://www.transifex.com/projects/p/kodi-main/language/sv_SE/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: sv_SE\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" msgctxt "#30000" msgid "Server Hostname or IP" msgstr "Servernamn eller IP" msgctxt "#30001" msgid "Keep IP address to 127.0.0.1, if server is running on this same system" msgstr "Behåll IP-adress 127.0.0.1 om servern körs på detta system" msgctxt "#30002" msgid "Port Number" msgstr "Portnummer" msgctxt "#30003" msgid "Stream timeout, unknown problem" msgstr "Ström-timeout, okänt problem" msgctxt "#30004" msgid "No video data found on this channel" msgstr "Ingen videodata hittades på denna kanalen" msgctxt "#30005" msgid "Tuner is needed for recording" msgstr "Mottagaren behövs för inspelning" msgctxt "#30006" msgid "Recording delete failed, file in use or write protected" msgstr "Radera inspelning misslyckades, filen används eller är skyddad" msgctxt "#30007" msgid "Recording delete failed, recorded file doesn't exist" msgstr "Radera inspelning misslyckades, filen existerar inte" msgctxt "#30008" msgid "Recording file not found" msgstr "Inspelningsfil hittades inte" msgctxt "#30009" msgid "Alternate channel chosen: " msgstr "Alternativ kanal vald:" msgctxt "#30010" msgid "Alternate time chosen: " msgstr "Alternativ tid vald:" msgctxt "#30011" msgid "Can't start, tuner is no longer available" msgstr "Kan inte starta, mottagaren är inte längre tillgänglig" msgctxt "#30012" msgid "Channel content is protected" msgstr "Kanalinnehållet är krypterat" msgctxt "#30013" msgid "End time increased by " msgstr "Sluttid ökat med" msgctxt "#30014" msgid "Enable SignalStatus calls" msgstr "Aktivera SignalStatus förfrågningar" msgctxt "#30015" msgid "Refresh SignalStatus Interval (sec)" msgstr "SignalStatus uppdateringsfrekvens (sek)" msgctxt "#30016" msgid "Store Resume/Watched status on server" msgstr "Lagra Fortsätt/Sedd-status på server" msgctxt "#30017" msgid "Recorded TV folder not found" msgstr "Inspelningsmappen hittades inte" msgctxt "#30018" msgid "Recorded TV folder cannot be opened" msgstr "Inspelningsmappen kunde inte öppnas" msgctxt "#30019" msgid "ServerWMC version update is available (%s)" msgstr "ServerWMC version uppdatering finns tillgänglig (%s)" msgctxt "#30020" msgid "All tuners for this channel are busy" msgstr "Alla mottagare för den här kanalen är upptagna" msgctxt "#30021" msgid "LiveTV timed-out" msgstr "Väntetiden för Live-TV överskreds" msgctxt "#30022" msgid "LiveTV error, exited early" msgstr "Live-TV fel, avslutades tidigt" msgctxt "#30023" msgid "Recording stream timed-out" msgstr "Väntetid för inspelningsström överskreds" msgctxt "#30024" msgid "Recording stream exited early" msgstr "Inspelningsström avslutades tidigt" msgctxt "#30025" msgid "Use WakeOnLAN to wake up server" msgstr "Använd WakeOnLAN för att väcka server" msgctxt "#30026" msgid "Sending WakeOnLAN to server..." msgstr "Skickar WakeOnLAN til server..." msgctxt "#30027" msgid "Time drift between client and backend of %s minutes" msgstr "Tiden mellan klient och backend tog %s minuter" msgctxt "#30100" msgid "Recording Preference" msgstr "Inspelningsförval" msgctxt "#30101" msgid "Record this episode only" msgstr "Spela in endast detta avsnitt" msgctxt "#30102" msgid "Record the series" msgstr "Spela in serien" msgctxt "#30103" msgid "Show type:" msgstr "Programtyp:" msgctxt "#30104" msgid "New and rerun" msgstr "Nya avsnitt och repriser" msgctxt "#30105" msgid "New only" msgstr "Endast nya avsnitt" msgctxt "#30106" msgid "Live only" msgstr "Endast live" msgctxt "#30107" msgid "Channel:" msgstr "Kanal:" msgctxt "#30108" msgid "Any Channel" msgstr "Vilken kanal som helst" msgctxt "#30110" msgid "Airtime:" msgstr "Sändningstid:" msgctxt "#30111" msgid "Anytime" msgstr "När som helst" msgctxt "#30120" msgid "Delete Timer" msgstr "Radera timer" msgctxt "#30121" msgid "Delete this episode timer only" msgstr "Radera timer för endast detta avsnitt" msgctxt "#30122" msgid "Delete the entire series" msgstr "Radera hela serien" msgctxt "#30130" msgid "Created by Repeating Timer" msgstr "Skapad av Upprepande Timer" msgctxt "#30131" msgid "One time (manual)" msgstr "En gång (manuell)" msgctxt "#30132" msgid "One time (guide)" msgstr "En gång (guide)" msgctxt "#30133" msgid "One time (wishlist)" msgstr "En gång (önskelista)" msgctxt "#30134" msgid "Repeating (manual)" msgstr "Upprepat (manuell)" msgctxt "#30135" msgid "Repeating (guide)" msgstr "Upprepat (guide)" msgctxt "#30136" msgid "Repeating (wishlist)" msgstr "Upprepat (önskelista)" msgctxt "#30140" msgid "Normal" msgstr "Normal" msgctxt "#30141" msgid "High" msgstr "Hög" msgctxt "#30142" msgid "Low" msgstr "Låg" msgctxt "#30150" msgid "New Episodes Only" msgstr "Endast nya avsnitt" msgctxt "#30151" msgid "New and Rerun Episodes" msgstr "Nya avsnitt och repriser" msgctxt "#30152" msgid "Live Only" msgstr "Endast direktsänding" msgctxt "#30160" msgid "Not Set" msgstr "Inte satt" msgctxt "#30161" msgid "Keep Latest Recordings" msgstr "Behåll senaste inspelningar" msgctxt "#30162" msgid "Keep Until I Watch" msgstr "Behåll tills jag tittat" msgctxt "#30163" msgid "Keep Until Space Needed" msgstr "Behåll tills utrymme krävs" msgctxt "#30164" msgid "Keep Until I Delete" msgstr "Behåll tills jag raderar" msgctxt "#30165" msgid "Keep For 1 Week" msgstr "Behåll i 1 vecka" msgctxt "#30170" msgid "Keep As Many As Possible" msgstr "Behåll så många som möjligt" msgctxt "#30171" msgid "Keep 1 Recording" msgstr "Behåll 1 inspelning" msgctxt "#30172" msgid "Keep 2 Recordings" msgstr "Behåll 2 inspelningar" msgctxt "#30173" msgid "Keep 3 Recordings" msgstr "Behåll 3 inspelningar" msgctxt "#30174" msgid "Keep 4 Recordings" msgstr "Behåll 4 inspelningar" msgctxt "#30175" msgid "Keep 5 Recordings" msgstr "Behåll 5 inspelningar" msgctxt "#30176" msgid "Keep 6 Recordings" msgstr "Behåll 6 inspelningar" msgctxt "#30177" msgid "Keep 7 Recordings" msgstr "Behåll 7 inspelningar" msgctxt "#30178" msgid "Keep 10 Recordings" msgstr "Behåll 10 inspelningar" pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.szl/000077500000000000000000000000001354134156400254055ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.szl/strings.po000066400000000000000000000155431354134156400274460ustar00rootroot00000000000000# Kodi Media Center language file # Addon Name: PVR WMC Client # Addon id: pvr.wmc # Addon Provider: KrustyReturns and scarecrow420 msgid "" msgstr "" "Project-Id-Version: KODI Main\n" "Report-Msgid-Bugs-To: https://github.com/xbmc/xbmc/issues/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Kodi Translation Team\n" "Language-Team: Silesian (http://www.transifex.com/projects/p/kodi-main/language/szl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: szl\n" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" msgctxt "#30000" msgid "Server Hostname or IP" msgstr "Miano lebo adresa serwera" msgctxt "#30001" msgid "Keep IP address to 127.0.0.1, if server is running on this same system" msgstr "Spamiyntej adresa IP 127.0.0.1, jeźli serwer je sztartniynty na tym samym systymie" msgctxt "#30002" msgid "Port Number" msgstr "Port" msgctxt "#30003" msgid "Stream timeout, unknown problem" msgstr "Przestōmpiōno było limit czŏsu czekaniŏ na szprica, niyznōmy feler" msgctxt "#30004" msgid "No video data found on this channel" msgstr "Niy ma szpricy wideo dlŏ tego kanału" msgctxt "#30005" msgid "Tuner is needed for recording" msgstr "Niy ma dostympnygo tunera dlŏ funkcyje nagrowaniŏ" msgctxt "#30006" msgid "Recording delete failed, file in use or write protected" msgstr "Niypodarzōne uchrōniynie nagraniŏ, zbiōr je w użyciu lebo bezpieczōny przed spamiyntowaniym" msgctxt "#30007" msgid "Recording delete failed, recorded file doesn't exist" msgstr "Niypodarzōne uchrōniynie nagraniŏ, zbioru nagraniŏ niy ma" msgctxt "#30008" msgid "Recording file not found" msgstr "Zbiōr nagraniŏ niydostympny" msgctxt "#30009" msgid "Alternate channel chosen: " msgstr "Ôbrany alternatywny kanał:" msgctxt "#30010" msgid "Alternate time chosen: " msgstr "Ôbrany alternatywny czŏs:" msgctxt "#30011" msgid "Can't start, tuner is no longer available" msgstr "Niypodarzōne sztartniyńcie, tuner je niydostympny" msgctxt "#30012" msgid "Channel content is protected" msgstr "Zawartość kanału je bezpieczōnŏ" msgctxt "#30013" msgid "End time increased by " msgstr "Czŏs kōńca szafniynty ô" msgctxt "#30014" msgid "Enable SignalStatus calls" msgstr "Pokŏzuj jakość sygnołu" msgctxt "#30015" msgid "Refresh SignalStatus Interval (sec)" msgstr "Frekwyncyjŏ ôdświyżaniŏ jakości sygnału (w sekundach)" msgctxt "#30016" msgid "Store Resume/Watched status on server" msgstr "Spamiyntuj stany ôdtwŏrzaniŏ na serwerze" msgctxt "#30017" msgid "Recorded TV folder not found" msgstr "Niy znŏdniynto było folderu nagrań telewizyjnych" msgctxt "#30018" msgid "Recorded TV folder cannot be opened" msgstr " Niy idzie ôdewrzić folderu nagrań telewizyjnych" msgctxt "#30019" msgid "ServerWMC version update is available (%s)" msgstr "Dostympnŏ je aktualizacyjŏ wersyje serwera (%s)" msgctxt "#30020" msgid "All tuners for this channel are busy" msgstr "Wszyjske tunery dlŏ tego kanału sōm zajynte" msgctxt "#30021" msgid "LiveTV timed-out" msgstr "Przestōmpiōno było limit czŏsu skuplowaniŏ" msgctxt "#30022" msgid "LiveTV error, exited early" msgstr "Feler telewizyje, wyrychlane zawrzynie szpricy" msgctxt "#30023" msgid "Recording stream timed-out" msgstr "Przestōmpiōno było limit czŏsu napoczyńciŏ nagraniŏ" msgctxt "#30024" msgid "Recording stream exited early" msgstr "Feler nagrowaniŏ, wyrychlane zawrzynie szpricy" msgctxt "#30025" msgid "Use WakeOnLAN to wake up server" msgstr "Używej zdŏlnygo cucyniŏ serwera" msgctxt "#30026" msgid "Sending WakeOnLAN to server..." msgstr "Posyłanie nakŏzaniŏ cucyniŏ do serwera..." msgctxt "#30027" msgid "Time drift between client and backend of %s minutes" msgstr "Szafniyńcie czŏsu miyndzy klijyntym a serwerym ô %s minut" msgctxt "#30100" msgid "Recording Preference" msgstr "Preferyncyje nagrowaniŏ" msgctxt "#30101" msgid "Record this episode only" msgstr "Nagrej ino tyn part" msgctxt "#30102" msgid "Record the series" msgstr "Nagrowej cołki serial" msgctxt "#30103" msgid "Show type:" msgstr "Pokŏzuj zortã:" msgctxt "#30104" msgid "New and rerun" msgstr "Nowe i zaś nadŏwane" msgctxt "#30105" msgid "New only" msgstr "Ino nowe" msgctxt "#30106" msgid "Live only" msgstr "Ino na żywo" msgctxt "#30107" msgid "Channel:" msgstr "Kanał:" msgctxt "#30108" msgid "Any Channel" msgstr "Leda jaki kanał" msgctxt "#30110" msgid "Airtime:" msgstr "Czŏs ymisyje:" msgctxt "#30111" msgid "Anytime" msgstr "Kej ino" msgctxt "#30120" msgid "Delete Timer" msgstr "Uchrōń auftrag" msgctxt "#30121" msgid "Delete this episode timer only" msgstr "Uchrōń ôbcyrklowane nagranie ino tego partu" msgctxt "#30122" msgid "Delete the entire series" msgstr "Uchrōń cołki seriŏl" msgctxt "#30130" msgid "Created by Repeating Timer" msgstr "Wytworzōne bez auftrag cykliczny" msgctxt "#30131" msgid "One time (manual)" msgstr "Jednorazowo (manualnie)" msgctxt "#30132" msgid "One time (guide)" msgstr "Jednorazowo (ôkludzŏcz)" msgctxt "#30133" msgid "One time (wishlist)" msgstr "Jednorazowo (wykŏz)" msgctxt "#30134" msgid "Repeating (manual)" msgstr "Cyklicznie (manualnie)" msgctxt "#30135" msgid "Repeating (guide)" msgstr "Cyklicznie (ôkludzŏcz)" msgctxt "#30136" msgid "Repeating (wishlist)" msgstr "Cyklicznie (wykŏz)" msgctxt "#30140" msgid "Normal" msgstr "Ôbyczajny" msgctxt "#30141" msgid "High" msgstr "Wysokŏ" msgctxt "#30142" msgid "Low" msgstr "min." msgctxt "#30150" msgid "New Episodes Only" msgstr "Ino nowe party" msgctxt "#30151" msgid "New and Rerun Episodes" msgstr "Nowe i zaś ymitowane party" msgctxt "#30152" msgid "Live Only" msgstr "Ino na żywo" msgctxt "#30160" msgid "Not Set" msgstr "Niynasztalowane" msgctxt "#30161" msgid "Keep Latest Recordings" msgstr "Spamiyntuj ôstatnie nagrania" msgctxt "#30162" msgid "Keep Until I Watch" msgstr "Spamiyntuj do piyrszygo ôbejzdrzyniŏ" msgctxt "#30163" msgid "Keep Until Space Needed" msgstr "Spamiyntuj aże braknie placu na dysku" msgctxt "#30164" msgid "Keep Until I Delete" msgstr "Spamiyntuj do uchrōniyniŏ" msgctxt "#30165" msgid "Keep For 1 Week" msgstr "Spamiyntuj bez 1 tydziyń" msgctxt "#30170" msgid "Keep As Many As Possible" msgstr "Spamiyntuj wiela to ino możebne" msgctxt "#30171" msgid "Keep 1 Recording" msgstr "Spamiyntuj 1 nagranie" msgctxt "#30172" msgid "Keep 2 Recordings" msgstr "Spamiyntuj 2 nagrania" msgctxt "#30173" msgid "Keep 3 Recordings" msgstr "Spamiyntuj 3 nagrania" msgctxt "#30174" msgid "Keep 4 Recordings" msgstr "Spamiyntuj 4 nagrania" msgctxt "#30175" msgid "Keep 5 Recordings" msgstr "Spamiyntuj 5 nagrań" msgctxt "#30176" msgid "Keep 6 Recordings" msgstr "Spamiyntuj 6 nagrań" msgctxt "#30177" msgid "Keep 7 Recordings" msgstr "Spamiyntuj 7 nagrań" msgctxt "#30178" msgid "Keep 10 Recordings" msgstr "Spamiyntuj 10 nagrań" pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.ta_in/000077500000000000000000000000001354134156400256675ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.ta_in/strings.po000066400000000000000000000015731354134156400277260ustar00rootroot00000000000000# Kodi Media Center language file # Addon Name: PVR WMC Client # Addon id: pvr.wmc # Addon Provider: KrustyReturns and scarecrow420 msgid "" msgstr "" "Project-Id-Version: KODI Main\n" "Report-Msgid-Bugs-To: https://github.com/xbmc/xbmc/issues/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Kodi Translation Team\n" "Language-Team: Tamil (India) (http://www.transifex.com/projects/p/kodi-main/language/ta_IN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ta_IN\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" msgctxt "#30107" msgid "Channel:" msgstr "சேனல்:" msgctxt "#30140" msgid "Normal" msgstr "வழக்கமான" msgctxt "#30141" msgid "High" msgstr "அதிகம்" msgctxt "#30142" msgid "Low" msgstr "குறைவு" pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.te_in/000077500000000000000000000000001354134156400256735ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.te_in/strings.po000066400000000000000000000050561354134156400277320ustar00rootroot00000000000000# Kodi Media Center language file # Addon Name: PVR WMC Client # Addon id: pvr.wmc # Addon Provider: KrustyReturns and scarecrow420 msgid "" msgstr "" "Project-Id-Version: KODI Main\n" "Report-Msgid-Bugs-To: https://github.com/xbmc/xbmc/issues/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Kodi Translation Team\n" "Language-Team: Telugu (India) (http://www.transifex.com/projects/p/kodi-main/language/te_IN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: te_IN\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" msgctxt "#30000" msgid "Server Hostname or IP" msgstr "సర్వర్ హోస్ట్ పేరు లేదా IP" msgctxt "#30001" msgid "Keep IP address to 127.0.0.1, if server is running on this same system" msgstr "సర్వర్ అదే సిస్టమ్ నడుస్తుంటే, 127.0.0.1 IP చిరునామా ఉంచండి" msgctxt "#30002" msgid "Port Number" msgstr "పోర్ట్ సంఖ్య" msgctxt "#30003" msgid "Stream timeout, unknown problem" msgstr "స్ట్రీమ్ టైమ్అవుట్, తెలియని సమస్య" msgctxt "#30004" msgid "No video data found on this channel" msgstr "ఈ ఛానెల్లో వీడియో డేటా ఏదీ లేదు" msgctxt "#30005" msgid "Tuner is needed for recording" msgstr "ట్యూనర్ రికార్డింగ్ కోసం అవసరమవుతుంది" msgctxt "#30006" msgid "Recording delete failed, file in use or write protected" msgstr "రికార్డింగ్ తొలగించడానికి విఫలమైంది, ఫైల్ ఉపయోగంలో లేదా వ్రాయడానికి రక్షించబడింది" msgctxt "#30007" msgid "Recording delete failed, recorded file doesn't exist" msgstr "రికార్డింగ్ తొలగించడానికి విఫలమైంది, రికార్డు ఫైల్ ఉనికిలో లేదు" msgctxt "#30008" msgid "Recording file not found" msgstr "రికార్డింగ్ ఫైల్ దొరకలేదు" msgctxt "#30009" msgid "Alternate channel chosen: " msgstr "ప్రత్యామ్నాయ ఛానల్ ఎన్నుకుంది:" msgctxt "#30010" msgid "Alternate time chosen: " msgstr "ప్రత్యామ్నాయ సమయం ఎన్నుకుంది:" pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.tg_tj/000077500000000000000000000000001354134156400257045ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.tg_tj/strings.po000066400000000000000000000015351354134156400277410ustar00rootroot00000000000000# Kodi Media Center language file # Addon Name: PVR WMC Client # Addon id: pvr.wmc # Addon Provider: KrustyReturns and scarecrow420 msgid "" msgstr "" "Project-Id-Version: KODI Main\n" "Report-Msgid-Bugs-To: https://github.com/xbmc/xbmc/issues/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Kodi Translation Team\n" "Language-Team: Tajik (Tajikistan) (http://www.transifex.com/projects/p/kodi-main/language/tg_TJ/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: tg_TJ\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" msgctxt "#30107" msgid "Channel:" msgstr "Шабака:" msgctxt "#30140" msgid "Normal" msgstr "Оддӣ" msgctxt "#30141" msgid "High" msgstr "Баланд" msgctxt "#30142" msgid "Low" msgstr "Паст" pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.th_th/000077500000000000000000000000001354134156400257035ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.th_th/strings.po000066400000000000000000000016511354134156400277370ustar00rootroot00000000000000# Kodi Media Center language file # Addon Name: PVR WMC Client # Addon id: pvr.wmc # Addon Provider: KrustyReturns and scarecrow420 msgid "" msgstr "" "Project-Id-Version: KODI Main\n" "Report-Msgid-Bugs-To: https://github.com/xbmc/xbmc/issues/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Kodi Translation Team\n" "Language-Team: Thai (Thailand) (http://www.transifex.com/projects/p/kodi-main/language/th_TH/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: th_TH\n" "Plural-Forms: nplurals=1; plural=0;\n" msgctxt "#30002" msgid "Port Number" msgstr "หมายเลขพอร์ต" msgctxt "#30107" msgid "Channel:" msgstr "ช่อง:" msgctxt "#30140" msgid "Normal" msgstr "ปกติ" msgctxt "#30141" msgid "High" msgstr "สูง" msgctxt "#30142" msgid "Low" msgstr "ต่ำ" pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.tr_tr/000077500000000000000000000000001354134156400257275ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.tr_tr/strings.po000066400000000000000000000151141354134156400277620ustar00rootroot00000000000000# Kodi Media Center language file # Addon Name: PVR WMC Client # Addon id: pvr.wmc # Addon Provider: KrustyReturns and scarecrow420 msgid "" msgstr "" "Project-Id-Version: KODI Main\n" "Report-Msgid-Bugs-To: https://github.com/xbmc/xbmc/issues/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Kodi Translation Team\n" "Language-Team: Turkish (Turkey) (http://www.transifex.com/projects/p/kodi-main/language/tr_TR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: tr_TR\n" "Plural-Forms: nplurals=1; plural=0;\n" msgctxt "#30000" msgid "Server Hostname or IP" msgstr "Sunucu Ana Bilgisayar Adı veya IP Adresi" msgctxt "#30001" msgid "Keep IP address to 127.0.0.1, if server is running on this same system" msgstr "Sunucu yine bu sistemde çalışıyorsa IP adresini 127.0.0.1 bırakın" msgctxt "#30002" msgid "Port Number" msgstr "Liman Numarası" msgctxt "#30003" msgid "Stream timeout, unknown problem" msgstr "Akış zaman aşımı, bilinmeyen sorun" msgctxt "#30004" msgid "No video data found on this channel" msgstr "Bu kanalda video verisi bulunamadı" msgctxt "#30005" msgid "Tuner is needed for recording" msgstr "Kayıt için alıcı gereklidir." msgctxt "#30006" msgid "Recording delete failed, file in use or write protected" msgstr "Kayıt silme başarısız, dosya kullanımda veya yazma korumalı" msgctxt "#30007" msgid "Recording delete failed, recorded file doesn't exist" msgstr "Kayıt silme başarısız, kaydedilen dosya mevcut değil" msgctxt "#30008" msgid "Recording file not found" msgstr "Kayıt dosyası bulunamadı" msgctxt "#30009" msgid "Alternate channel chosen: " msgstr "Seçilen alternatif kanal:" msgctxt "#30010" msgid "Alternate time chosen: " msgstr "Seçilen alternatif zaman:" msgctxt "#30011" msgid "Can't start, tuner is no longer available" msgstr "Başlayamadı, alıcı uzun süre algılanamadı" msgctxt "#30012" msgid "Channel content is protected" msgstr "Kanal içeriği korumalı" msgctxt "#30013" msgid "End time increased by " msgstr "Bitiş zamanı şu kadar arttırıldı" msgctxt "#30014" msgid "Enable SignalStatus calls" msgstr "SignalStatus çağrılarını etkinleştir" msgctxt "#30015" msgid "Refresh SignalStatus Interval (sec)" msgstr "SignalStatus Yenileme Aralığı (sn)" msgctxt "#30016" msgid "Store Resume/Watched status on server" msgstr "Devam et/İzlendi durumunu sunucuda depola" msgctxt "#30017" msgid "Recorded TV folder not found" msgstr "Kaydedilenler klasörü bulunamadı" msgctxt "#30018" msgid "Recorded TV folder cannot be opened" msgstr "Kaydedilenler klasörü açılamadı" msgctxt "#30019" msgid "ServerWMC version update is available (%s)" msgstr "Sunucu WMC sürümü güncellemesi gerçekleşiyor (%s)" msgctxt "#30020" msgid "All tuners for this channel are busy" msgstr "Tüm alıcılar bu kanal için meşgul" msgctxt "#30021" msgid "LiveTV timed-out" msgstr "Canlı yayın zaman aşımına uğradı" msgctxt "#30022" msgid "LiveTV error, exited early" msgstr "Canlı yayın hatası, erken çıkıldı" msgctxt "#30023" msgid "Recording stream timed-out" msgstr "Kayıt akışı zaman aşımına uğradı" msgctxt "#30024" msgid "Recording stream exited early" msgstr "Kayıt akışından erken çıkıldı" msgctxt "#30025" msgid "Use WakeOnLAN to wake up server" msgstr "Sunucuyu uyandırmak için WakeOnLan özelliğini kullan" msgctxt "#30026" msgid "Sending WakeOnLAN to server..." msgstr "WakeOnLAN isteği sunucuya gönderiliyor" msgctxt "#30027" msgid "Time drift between client and backend of %s minutes" msgstr "İstemci ve arka uç arasındaki zaman kayması %s dakika" msgctxt "#30100" msgid "Recording Preference" msgstr "Kayıt Tercihi" msgctxt "#30101" msgid "Record this episode only" msgstr "Sadece bu bölümü kaydet" msgctxt "#30102" msgid "Record the series" msgstr "Bu seriyi kayıt et" msgctxt "#30103" msgid "Show type:" msgstr "Gösteri türü:" msgctxt "#30104" msgid "New and rerun" msgstr "Yeni ve yeniden çalıştır" msgctxt "#30105" msgid "New only" msgstr "Sadece yeni" msgctxt "#30106" msgid "Live only" msgstr "Sadece canlı" msgctxt "#30107" msgid "Channel:" msgstr "Kanal:" msgctxt "#30108" msgid "Any Channel" msgstr "Herhangi Bir Kanal" msgctxt "#30110" msgid "Airtime:" msgstr "Yayın süresi:" msgctxt "#30111" msgid "Anytime" msgstr "Her Zaman" msgctxt "#30120" msgid "Delete Timer" msgstr "Silme Zamanlayıcı" msgctxt "#30121" msgid "Delete this episode timer only" msgstr "Sadece bu bölüm zamanlayıcısını sil" msgctxt "#30122" msgid "Delete the entire series" msgstr "Tüm seriyi sil" msgctxt "#30130" msgid "Created by Repeating Timer" msgstr "Tekrarlanan Zamanlayıcı tarafından oluşturuldu" msgctxt "#30131" msgid "One time (manual)" msgstr "Tek seferlik (elle)" msgctxt "#30132" msgid "One time (guide)" msgstr "Tek seferiik (rehber)" msgctxt "#30133" msgid "One time (wishlist)" msgstr "Tek seferlik (istek listesi)" msgctxt "#30134" msgid "Repeating (manual)" msgstr "Tekrarlı (elle)" msgctxt "#30135" msgid "Repeating (guide)" msgstr "Tekrarlı (rehber)" msgctxt "#30136" msgid "Repeating (wishlist)" msgstr "Tekrarlı (istek listesi)" msgctxt "#30140" msgid "Normal" msgstr "Normal" msgctxt "#30141" msgid "High" msgstr "Yüksek" msgctxt "#30142" msgid "Low" msgstr "Düşük" msgctxt "#30150" msgid "New Episodes Only" msgstr "Sadece Yeni Bölümler" msgctxt "#30151" msgid "New and Rerun Episodes" msgstr "Yeni ve tekrar bölümler" msgctxt "#30152" msgid "Live Only" msgstr "Sadece canlı yayın" msgctxt "#30160" msgid "Not Set" msgstr "Belirlenmemiş" msgctxt "#30161" msgid "Keep Latest Recordings" msgstr "Son kayıtları sakla" msgctxt "#30162" msgid "Keep Until I Watch" msgstr "İzleyene kadar sakla" msgctxt "#30163" msgid "Keep Until Space Needed" msgstr "Boş alan lazım olana dek sakla" msgctxt "#30164" msgid "Keep Until I Delete" msgstr "Silene kadar sakla" msgctxt "#30165" msgid "Keep For 1 Week" msgstr "1 hafta sakla" msgctxt "#30170" msgid "Keep As Many As Possible" msgstr "Mümkün olduğunca fazla sayıda sakla" msgctxt "#30171" msgid "Keep 1 Recording" msgstr "1 kayıt sakla" msgctxt "#30172" msgid "Keep 2 Recordings" msgstr "2 kayıt sakla" msgctxt "#30173" msgid "Keep 3 Recordings" msgstr "3 kayıt sakla" msgctxt "#30174" msgid "Keep 4 Recordings" msgstr "4 kayıt sakla" msgctxt "#30175" msgid "Keep 5 Recordings" msgstr "5 kayıt sakla" msgctxt "#30176" msgid "Keep 6 Recordings" msgstr "6 kayıt sakla" msgctxt "#30177" msgid "Keep 7 Recordings" msgstr "7 kayıt sakla" msgctxt "#30178" msgid "Keep 10 Recordings" msgstr "10 kayıt sakla" pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.uk_ua/000077500000000000000000000000001354134156400257015ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.uk_ua/strings.po000066400000000000000000000134561354134156400277430ustar00rootroot00000000000000# Kodi Media Center language file # Addon Name: PVR WMC Client # Addon id: pvr.wmc # Addon Provider: KrustyReturns and scarecrow420 msgid "" msgstr "" "Project-Id-Version: KODI Main\n" "Report-Msgid-Bugs-To: https://github.com/xbmc/xbmc/issues/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Kodi Translation Team\n" "Language-Team: Ukrainian (Ukraine) (http://www.transifex.com/projects/p/kodi-main/language/uk_UA/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: uk_UA\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" msgctxt "#30000" msgid "Server Hostname or IP" msgstr "Посилання або IP-адреса сервера" msgctxt "#30001" msgid "Keep IP address to 127.0.0.1, if server is running on this same system" msgstr "Використовуйте IP адресу 127.0.0.1, якщо сервер розташований на цьому ж пристрої" msgctxt "#30002" msgid "Port Number" msgstr "Номер порту" msgctxt "#30003" msgid "Stream timeout, unknown problem" msgstr "Затримка потоку, невідома проблема" msgctxt "#30004" msgid "No video data found on this channel" msgstr "Не знайдено даних на цьому каналі" msgctxt "#30005" msgid "Tuner is needed for recording" msgstr "Потрібен тюнер для запису" msgctxt "#30006" msgid "Recording delete failed, file in use or write protected" msgstr "Не вдалось видалити запис, файл використовується або захищений від запису" msgctxt "#30007" msgid "Recording delete failed, recorded file doesn't exist" msgstr "Не вдалось видалити запис, файл запису не існує" msgctxt "#30008" msgid "Recording file not found" msgstr "Файл запису не знайдено" msgctxt "#30009" msgid "Alternate channel chosen: " msgstr "Обрано альтернативний канал:" msgctxt "#30010" msgid "Alternate time chosen: " msgstr "Обрано альтернативний час:" msgctxt "#30011" msgid "Can't start, tuner is no longer available" msgstr "Не вдалося запустити, тюнер більше не доступний" msgctxt "#30012" msgid "Channel content is protected" msgstr "Зміст каналу захищений" msgctxt "#30013" msgid "End time increased by " msgstr "Час закінчення збільшився на" msgctxt "#30014" msgid "Enable SignalStatus calls" msgstr "Ввімкнути СигналСтан дзвінків" msgctxt "#30015" msgid "Refresh SignalStatus Interval (sec)" msgstr "Інтервал оновлення СигналуСтану (сек)" msgctxt "#30016" msgid "Store Resume/Watched status on server" msgstr "Записувати статус Продовження/Перегляду на сервері" msgctxt "#30017" msgid "Recorded TV folder not found" msgstr "Теку ТБ записів неможливо відкрити" msgctxt "#30018" msgid "Recorded TV folder cannot be opened" msgstr "Теку ТБ записів неможливо відкрити" msgctxt "#30019" msgid "ServerWMC version update is available (%s)" msgstr "Доступна нова версія СервераWMC (%s)" msgctxt "#30020" msgid "All tuners for this channel are busy" msgstr "Всі тюнери для цього каналу зайняті" msgctxt "#30021" msgid "LiveTV timed-out" msgstr "Закінчився час Live TV" msgctxt "#30022" msgid "LiveTV error, exited early" msgstr "Помилка в Live TV, вимкнувся швидше терміну" msgctxt "#30023" msgid "Recording stream timed-out" msgstr "Закінчився час запису потоку " msgctxt "#30024" msgid "Recording stream exited early" msgstr "Потік запису закінчився рано" msgctxt "#30025" msgid "Use WakeOnLAN to wake up server" msgstr "Використовувати WOL щоб розбудити сервер" msgctxt "#30026" msgid "Sending WakeOnLAN to server..." msgstr "Надсилання WOL сигналу до сервера..." msgctxt "#30027" msgid "Time drift between client and backend of %s minutes" msgstr "Зміщення в часі між клієнтом і сервером в %s хвилин" msgctxt "#30100" msgid "Recording Preference" msgstr "Налаштування запису" msgctxt "#30101" msgid "Record this episode only" msgstr "Записати тільки цю серію" msgctxt "#30102" msgid "Record the series" msgstr "Записати серіал" msgctxt "#30103" msgid "Show type:" msgstr "Тип ТВ-шоу:" msgctxt "#30104" msgid "New and rerun" msgstr "Нові і перезапущені" msgctxt "#30105" msgid "New only" msgstr "Лише нові" msgctxt "#30106" msgid "Live only" msgstr "Лише наживо" msgctxt "#30107" msgid "Channel:" msgstr "Канал:" msgctxt "#30108" msgid "Any Channel" msgstr "Будь-який канал" msgctxt "#30110" msgid "Airtime:" msgstr "Ефірний час:" msgctxt "#30111" msgid "Anytime" msgstr "Будь-коли" msgctxt "#30120" msgid "Delete Timer" msgstr "Видалити таймер" msgctxt "#30121" msgid "Delete this episode timer only" msgstr "Видалити таймер лише для цієї серії" msgctxt "#30122" msgid "Delete the entire series" msgstr "Видалити весь серіал" msgctxt "#30130" msgid "Created by Repeating Timer" msgstr "Створено зусиллями Repeating Timer" msgctxt "#30140" msgid "Normal" msgstr "Нормальне" msgctxt "#30141" msgid "High" msgstr "Макс." msgctxt "#30142" msgid "Low" msgstr "Мін." pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.uz_uz/000077500000000000000000000000001354134156400257515ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.uz_uz/strings.po000066400000000000000000000014221354134156400300010ustar00rootroot00000000000000# Kodi Media Center language file # Addon Name: PVR WMC Client # Addon id: pvr.wmc # Addon Provider: KrustyReturns and scarecrow420 msgid "" msgstr "" "Project-Id-Version: KODI Main\n" "Report-Msgid-Bugs-To: https://github.com/xbmc/xbmc/issues/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Kodi Translation Team\n" "Language-Team: Uzbek (Uzbekistan) (http://www.transifex.com/projects/p/kodi-main/language/uz_UZ/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: uz_UZ\n" "Plural-Forms: nplurals=1; plural=0;\n" msgctxt "#30107" msgid "Channel:" msgstr "Kanal:" msgctxt "#30141" msgid "High" msgstr "Yuqori" msgctxt "#30142" msgid "Low" msgstr "Past" pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.vi_vn/000077500000000000000000000000001354134156400257165ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.vi_vn/strings.po000066400000000000000000000017551354134156400277570ustar00rootroot00000000000000# Kodi Media Center language file # Addon Name: PVR WMC Client # Addon id: pvr.wmc # Addon Provider: KrustyReturns and scarecrow420 msgid "" msgstr "" "Project-Id-Version: KODI Main\n" "Report-Msgid-Bugs-To: https://github.com/xbmc/xbmc/issues/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Kodi Translation Team\n" "Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/projects/p/kodi-main/language/vi_VN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: vi_VN\n" "Plural-Forms: nplurals=1; plural=0;\n" msgctxt "#30008" msgid "Recording file not found" msgstr "Không tìm thấy file đã ghi" msgctxt "#30107" msgid "Channel:" msgstr "Kênh:" msgctxt "#30120" msgid "Delete Timer" msgstr "hủy hẹn giờ" msgctxt "#30140" msgid "Normal" msgstr "Bình thường" msgctxt "#30141" msgid "High" msgstr "Cao" msgctxt "#30142" msgid "Low" msgstr "Thấp" pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.zh_cn/000077500000000000000000000000001354134156400256765ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.zh_cn/strings.po000066400000000000000000000142111354134156400277260ustar00rootroot00000000000000# Kodi Media Center language file # Addon Name: PVR WMC Client # Addon id: pvr.wmc # Addon Provider: KrustyReturns and scarecrow420 msgid "" msgstr "" "Project-Id-Version: KODI Main\n" "Report-Msgid-Bugs-To: https://github.com/xbmc/xbmc/issues/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Kodi Translation Team\n" "Language-Team: Chinese (China) (http://www.transifex.com/projects/p/kodi-main/language/zh_CN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0;\n" msgctxt "#30000" msgid "Server Hostname or IP" msgstr "服务器主机名或 IP 地址" msgctxt "#30001" msgid "Keep IP address to 127.0.0.1, if server is running on this same system" msgstr "如果服务器在本机运行,保持 IP 地址为 127.0.0.1" msgctxt "#30002" msgid "Port Number" msgstr "端口号" msgctxt "#30003" msgid "Stream timeout, unknown problem" msgstr "流超时,未知问题" msgctxt "#30004" msgid "No video data found on this channel" msgstr "此频道未发现视频数据" msgctxt "#30005" msgid "Tuner is needed for recording" msgstr "录像需要电视接收设备" msgctxt "#30006" msgid "Recording delete failed, file in use or write protected" msgstr "录像删除失败,文件使用中或写保护" msgctxt "#30007" msgid "Recording delete failed, recorded file doesn't exist" msgstr "录像删除失败,录像文件不存在" msgctxt "#30008" msgid "Recording file not found" msgstr "录像文件未找到" msgctxt "#30009" msgid "Alternate channel chosen: " msgstr "备选频道选择:" msgctxt "#30010" msgid "Alternate time chosen: " msgstr "备选定时器选择:" msgctxt "#30011" msgid "Can't start, tuner is no longer available" msgstr "无法启动,电视接收设备不可用" msgctxt "#30012" msgid "Channel content is protected" msgstr "频道内容被保护" msgctxt "#30013" msgid "End time increased by " msgstr "结束时间增加" msgctxt "#30014" msgid "Enable SignalStatus calls" msgstr "启用信号状态调用" msgctxt "#30015" msgid "Refresh SignalStatus Interval (sec)" msgstr "刷新信号状态间隔(秒)" msgctxt "#30016" msgid "Store Resume/Watched status on server" msgstr "保存 恢复/已观看 状态到服务器" msgctxt "#30017" msgid "Recorded TV folder not found" msgstr "录像文件夹未找到" msgctxt "#30018" msgid "Recorded TV folder cannot be opened" msgstr "录像文件夹无法打开" msgctxt "#30019" msgid "ServerWMC version update is available (%s)" msgstr "有可用的 ServerWMC 版本更新(%s)" msgctxt "#30020" msgid "All tuners for this channel are busy" msgstr "此频道的所有电视接收设备忙" msgctxt "#30021" msgid "LiveTV timed-out" msgstr "直播电视超时" msgctxt "#30022" msgid "LiveTV error, exited early" msgstr "直播电视错误,过早退出" msgctxt "#30023" msgid "Recording stream timed-out" msgstr "录像流超时" msgctxt "#30024" msgid "Recording stream exited early" msgstr "录像流过早退出" msgctxt "#30025" msgid "Use WakeOnLAN to wake up server" msgstr "使用网络唤醒来唤醒服务器" msgctxt "#30026" msgid "Sending WakeOnLAN to server..." msgstr "发送网络唤醒消息给服务器..." msgctxt "#30027" msgid "Time drift between client and backend of %s minutes" msgstr "客户端和后端间的时间偏移为 %s 分钟" msgctxt "#30100" msgid "Recording Preference" msgstr "录像偏好" msgctxt "#30101" msgid "Record this episode only" msgstr "仅录本集" msgctxt "#30102" msgid "Record the series" msgstr "录制全剧" msgctxt "#30103" msgid "Show type:" msgstr "显示类型:" msgctxt "#30104" msgid "New and rerun" msgstr "新的和重播" msgctxt "#30105" msgid "New only" msgstr "仅新的" msgctxt "#30106" msgid "Live only" msgstr "仅直播" msgctxt "#30107" msgid "Channel:" msgstr "频道:" msgctxt "#30108" msgid "Any Channel" msgstr "所有频道" msgctxt "#30110" msgid "Airtime:" msgstr "播出时间:" msgctxt "#30111" msgid "Anytime" msgstr "所有时间" msgctxt "#30120" msgid "Delete Timer" msgstr "删除定时器" msgctxt "#30121" msgid "Delete this episode timer only" msgstr "仅删除本集定时器" msgctxt "#30122" msgid "Delete the entire series" msgstr "删除整剧" msgctxt "#30130" msgid "Created by Repeating Timer" msgstr "由重复定时器创建" msgctxt "#30131" msgid "One time (manual)" msgstr "一次(手动)" msgctxt "#30132" msgid "One time (guide)" msgstr "一次(指南)" msgctxt "#30133" msgid "One time (wishlist)" msgstr "一次(期望表)" msgctxt "#30134" msgid "Repeating (manual)" msgstr "重复(手动)" msgctxt "#30135" msgid "Repeating (guide)" msgstr "重复(指南)" msgctxt "#30136" msgid "Repeating (wishlist)" msgstr "重复(期望表)" msgctxt "#30140" msgid "Normal" msgstr "正常" msgctxt "#30141" msgid "High" msgstr "高" msgctxt "#30142" msgid "Low" msgstr "低" msgctxt "#30150" msgid "New Episodes Only" msgstr "仅新集" msgctxt "#30151" msgid "New and Rerun Episodes" msgstr "新的和回归集" msgctxt "#30152" msgid "Live Only" msgstr "仅直播" msgctxt "#30160" msgid "Not Set" msgstr "未设置" msgctxt "#30161" msgid "Keep Latest Recordings" msgstr "保留最新录像" msgctxt "#30162" msgid "Keep Until I Watch" msgstr "保留直到已观看" msgctxt "#30163" msgid "Keep Until Space Needed" msgstr "保留直到需要空间" msgctxt "#30164" msgid "Keep Until I Delete" msgstr "保留直到我删除" msgctxt "#30165" msgid "Keep For 1 Week" msgstr "保留一周" msgctxt "#30170" msgid "Keep As Many As Possible" msgstr "尽可能保留" msgctxt "#30171" msgid "Keep 1 Recording" msgstr "保留 1 录像" msgctxt "#30172" msgid "Keep 2 Recordings" msgstr "保留 2 录像" msgctxt "#30173" msgid "Keep 3 Recordings" msgstr "保留 3 录像" msgctxt "#30174" msgid "Keep 4 Recordings" msgstr "保留 4 录像" msgctxt "#30175" msgid "Keep 5 Recordings" msgstr "保留 5 录像" msgctxt "#30176" msgid "Keep 6 Recordings" msgstr "保留 6 录像" msgctxt "#30177" msgid "Keep 7 Recordings" msgstr "保留 7 录像" msgctxt "#30178" msgid "Keep 10 Recordings" msgstr "保留 10 录像" pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.zh_tw/000077500000000000000000000000001354134156400257305ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/pvr.wmc/resources/language/resource.language.zh_tw/strings.po000066400000000000000000000142701354134156400277650ustar00rootroot00000000000000# Kodi Media Center language file # Addon Name: PVR WMC Client # Addon id: pvr.wmc # Addon Provider: KrustyReturns and scarecrow420 msgid "" msgstr "" "Project-Id-Version: KODI Main\n" "Report-Msgid-Bugs-To: https://github.com/xbmc/xbmc/issues/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Kodi Translation Team\n" "Language-Team: Chinese (Taiwan) (http://www.transifex.com/projects/p/kodi-main/language/zh_TW/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: zh_TW\n" "Plural-Forms: nplurals=1; plural=0;\n" msgctxt "#30000" msgid "Server Hostname or IP" msgstr "伺服器網址或IP" msgctxt "#30001" msgid "Keep IP address to 127.0.0.1, if server is running on this same system" msgstr "如果伺服器在本機運作,請將IP設為127.0.0.1。" msgctxt "#30002" msgid "Port Number" msgstr "連接埠號碼" msgctxt "#30003" msgid "Stream timeout, unknown problem" msgstr "串流逾時,問題不明" msgctxt "#30004" msgid "No video data found on this channel" msgstr "本頻道沒有影像資料" msgctxt "#30005" msgid "Tuner is needed for recording" msgstr "錄影需要電視選台器" msgctxt "#30006" msgid "Recording delete failed, file in use or write protected" msgstr "刪除錄影檔失敗,檔案使用中或已受保護" msgctxt "#30007" msgid "Recording delete failed, recorded file doesn't exist" msgstr "刪除錄影檔失敗,檔案不存在" msgctxt "#30008" msgid "Recording file not found" msgstr "找不到錄影檔" msgctxt "#30009" msgid "Alternate channel chosen: " msgstr "替代頻道選擇:" msgctxt "#30010" msgid "Alternate time chosen: " msgstr "替代時間選擇:" msgctxt "#30011" msgid "Can't start, tuner is no longer available" msgstr "無法啟動,選台器不可用" msgctxt "#30012" msgid "Channel content is protected" msgstr "頻道內容已受保護" msgctxt "#30013" msgid "End time increased by " msgstr "結束時間延長" msgctxt "#30014" msgid "Enable SignalStatus calls" msgstr "開啟SignalStatus的呼叫" msgctxt "#30015" msgid "Refresh SignalStatus Interval (sec)" msgstr "更新SignalStatus的間隔 (秒)" msgctxt "#30016" msgid "Store Resume/Watched status on server" msgstr "儲存伺服器中\"續播/已看完\"的狀態" msgctxt "#30017" msgid "Recorded TV folder not found" msgstr "找不到已錄製的電視節目資料夾" msgctxt "#30018" msgid "Recorded TV folder cannot be opened" msgstr "無法開啟已錄製電視節目資料夾" msgctxt "#30019" msgid "ServerWMC version update is available (%s)" msgstr "有可用的ServerWMC更新版本(%s)" msgctxt "#30020" msgid "All tuners for this channel are busy" msgstr "本頻道可用的選台器忙碌中" msgctxt "#30021" msgid "LiveTV timed-out" msgstr "LiveTV逾時" msgctxt "#30022" msgid "LiveTV error, exited early" msgstr "LiveTV錯誤,提前退出" msgctxt "#30023" msgid "Recording stream timed-out" msgstr "串流錄影逾時" msgctxt "#30024" msgid "Recording stream exited early" msgstr "串流錄影提早退出" msgctxt "#30025" msgid "Use WakeOnLAN to wake up server" msgstr "使用WakeOnLAN來喚醒伺服器" msgctxt "#30026" msgid "Sending WakeOnLAN to server..." msgstr "傳送WakeOnLAN指令到伺服器" msgctxt "#30027" msgid "Time drift between client and backend of %s minutes" msgstr "用戶端與後端時間差%s分" msgctxt "#30100" msgid "Recording Preference" msgstr "錄影設定" msgctxt "#30101" msgid "Record this episode only" msgstr "僅刪除本集" msgctxt "#30102" msgid "Record the series" msgstr "錄製系列影集" msgctxt "#30103" msgid "Show type:" msgstr "影集類型:" msgctxt "#30104" msgid "New and rerun" msgstr "新番與重播" msgctxt "#30105" msgid "New only" msgstr "僅新番" msgctxt "#30106" msgid "Live only" msgstr "僅直播節目" msgctxt "#30107" msgid "Channel:" msgstr "頻道:" msgctxt "#30108" msgid "Any Channel" msgstr "任何頻道" msgctxt "#30110" msgid "Airtime:" msgstr "播放時間:" msgctxt "#30111" msgid "Anytime" msgstr "任何時間" msgctxt "#30120" msgid "Delete Timer" msgstr "刪除定時器" msgctxt "#30121" msgid "Delete this episode timer only" msgstr "僅刪除本集的定時器" msgctxt "#30122" msgid "Delete the entire series" msgstr "刪除整個系列" msgctxt "#30130" msgid "Created by Repeating Timer" msgstr "用重複定時器來產生" msgctxt "#30131" msgid "One time (manual)" msgstr "單次 (首動)" msgctxt "#30132" msgid "One time (guide)" msgstr "單次 (節目指南)" msgctxt "#30133" msgid "One time (wishlist)" msgstr "單次 (期望清單)" msgctxt "#30134" msgid "Repeating (manual)" msgstr "重複 (手動)" msgctxt "#30135" msgid "Repeating (guide)" msgstr "重複 (節目指南)" msgctxt "#30136" msgid "Repeating (wishlist)" msgstr "重複 (期望清單)" msgctxt "#30140" msgid "Normal" msgstr "一般" msgctxt "#30141" msgid "High" msgstr "高" msgctxt "#30142" msgid "Low" msgstr "低" msgctxt "#30150" msgid "New Episodes Only" msgstr "僅新番" msgctxt "#30151" msgid "New and Rerun Episodes" msgstr "新番及重播" msgctxt "#30152" msgid "Live Only" msgstr "僅直播節目" msgctxt "#30160" msgid "Not Set" msgstr "未設定" msgctxt "#30161" msgid "Keep Latest Recordings" msgstr "保留最新的錄影檔" msgctxt "#30162" msgid "Keep Until I Watch" msgstr "保留至我看完" msgctxt "#30163" msgid "Keep Until Space Needed" msgstr "保留至空間不足" msgctxt "#30164" msgid "Keep Until I Delete" msgstr "保留至被我刪除" msgctxt "#30165" msgid "Keep For 1 Week" msgstr "保留1週" msgctxt "#30170" msgid "Keep As Many As Possible" msgstr "能放多少放多少" msgctxt "#30171" msgid "Keep 1 Recording" msgstr "保留1個錄影檔" msgctxt "#30172" msgid "Keep 2 Recordings" msgstr "保留2個錄影檔" msgctxt "#30173" msgid "Keep 3 Recordings" msgstr "保留3個錄影檔" msgctxt "#30174" msgid "Keep 4 Recordings" msgstr "保留4個錄影檔" msgctxt "#30175" msgid "Keep 5 Recordings" msgstr "保留5個錄影檔" msgctxt "#30176" msgid "Keep 6 Recordings" msgstr "保留6個錄影檔" msgctxt "#30177" msgid "Keep 7 Recordings" msgstr "保留7個錄影檔" msgctxt "#30178" msgid "Keep 10 Recordings" msgstr "保留10個錄影檔" pvr.wmc-2.4.5-Leia/pvr.wmc/resources/settings.xml000066400000000000000000000010001354134156400217530ustar00rootroot00000000000000 pvr.wmc-2.4.5-Leia/src/000077500000000000000000000000001354134156400145635ustar00rootroot00000000000000pvr.wmc-2.4.5-Leia/src/Socket.cpp000066400000000000000000000402671354134156400165300ustar00rootroot00000000000000/* * Copyright (C) 2005-2015 Team XBMC * http://xbmc.org * * This Program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * This Program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with XBMC; see the file COPYING. If not, see * . * */ #include "kodi/libXBMC_addon.h" #include #include "p8-platform/os.h" #include "client.h" #include "Socket.h" #include "utilities.h" #include "p8-platform/util/timeutils.h" #include "p8-platform/threads/mutex.h" using namespace std; using namespace ADDON; P8PLATFORM::CMutex m_mutex; /* Master defines for client control */ //#define RECEIVE_TIMEOUT 6 //sec Socket::Socket(const enum SocketFamily family, const enum SocketDomain domain, const enum SocketType type, const enum SocketProtocol protocol) { _sd = INVALID_SOCKET; _family = family; _domain = domain; _type = type; _protocol = protocol; memset (&_sockaddr, 0, sizeof( _sockaddr ) ); //set_non_blocking(1); } Socket::Socket() { // Default constructor, default settings _sd = INVALID_SOCKET; _family = af_inet; _domain = pf_inet; _type = sock_stream; _protocol = tcp; memset (&_sockaddr, 0, sizeof( _sockaddr ) ); } Socket::~Socket() { close(); } bool Socket::setHostname ( const std::string& host ) { if (isalpha(host.c_str()[0])) { // host address is a name struct hostent *he = NULL; if ((he = gethostbyname( host.c_str() )) == 0) { errormessage( getLastError(), "Socket::setHostname"); return false; } _sockaddr.sin_addr = *((in_addr *) he->h_addr); } else { _sockaddr.sin_addr.s_addr = inet_addr(host.c_str()); } return true; } bool Socket::close() { if (is_valid()) { if (_sd != SOCKET_ERROR) #ifdef TARGET_WINDOWS closesocket(_sd); #else ::close(_sd); #endif _sd = INVALID_SOCKET; osCleanup(); return true; } return false; } int _timeout = 0; bool Socket::create() { if( is_valid() ) { close(); } if(!osInit()) { return false; } _sd = socket(_family, _type, _protocol ); //0 indicates that the default protocol for the type selected is to be used. //For example, IPPROTO_TCP is chosen for the protocol if the type was set to //SOCK_STREAM and the address family is AF_INET. if (_sd == INVALID_SOCKET) { errormessage( getLastError(), "Socket::create" ); return false; } // if requested set a timeout for receiving data if (_timeout != 0) { struct timeval tv; tv.tv_sec = _timeout; // set the receive timeout desired tv.tv_usec = 0; // Not init'ing this can cause strange errors setsockopt(_sd, SOL_SOCKET, SO_RCVTIMEO, (char*)&tv,sizeof(struct timeval)); // set a receive timeout for this new socket _timeout = 0; // reset to default state of no timeout } return true; } int Socket::send( const std::string& data ) { if (!is_valid()) { return 0; } int status = Socket::send( (const char*) data.c_str(), (const unsigned int) data.size()); return status; } int Socket::send ( const char* data, const unsigned int len ) { fd_set set_w, set_e; struct timeval tv; int result; if (!is_valid()) { return 0; } // fill with new data tv.tv_sec = 0; tv.tv_usec = 0; FD_ZERO(&set_w); FD_ZERO(&set_e); FD_SET(_sd, &set_w); FD_SET(_sd, &set_e); result = select(FD_SETSIZE, &set_w, NULL, &set_e, &tv); if (result < 0) { XBMC->Log(LOG_ERROR, "Socket::send - select failed"); _sd = INVALID_SOCKET; return 0; } if (FD_ISSET(_sd, &set_w)) { XBMC->Log(LOG_ERROR, "Socket::send - failed to send data"); _sd = INVALID_SOCKET; return 0; } int status = ::send(_sd, data, len, 0 ); if (status == -1) { errormessage( getLastError(), "Socket::send"); XBMC->Log(LOG_ERROR, "Socket::send - failed to send data"); _sd = INVALID_SOCKET; } return status; } //Receive until error or \n bool Socket::ReadResponses(int &code, vector &lines) { int result; char buffer[4096]; // this buff size has to be known in server code = 0; bool readComplete = false; std::string bigString = ""; do { result = recv(_sd, buffer, sizeof(buffer) - 1, 0); if (result < 0) // if result is negative, the socket is bad { #ifdef TARGET_WINDOWS int errorCode = WSAGetLastError(); XBMC->Log(LOG_DEBUG, "ReadResponse ERROR - recv failed, Err: %d", errorCode); #else XBMC->Log(LOG_DEBUG, "ReadResponse ERROR - recv failed"); #endif code = 1; _sd = INVALID_SOCKET; return false; } if (result > 0) // if we got data from the server in this last pass { buffer[result] = 0; // insert end of string marker bigString.append(buffer); // accumulate all the reads } } while (result > 0); // keep reading until result returns '0', meaning server is done sending reponses if (EndsWith(bigString, "")) { readComplete = true; // all server data has benn read lines = split(bigString, ""); // split each reponse by delimiters lines.erase(lines.end() - 1); // erase at end } else { XBMC->Log(LOG_DEBUG, "ReadResponse ERROR - in read reponses not found"); _sd = INVALID_SOCKET; } return readComplete; } bool Socket::connect ( const std::string& host, const unsigned short port ) { if ( !is_valid() ) { return false; } _sockaddr.sin_family = (sa_family_t) _family; _sockaddr.sin_port = htons ( port ); if ( !setHostname( host ) ) { XBMC->Log(LOG_ERROR, "Socket::setHostname(%s) failed.\n", host.c_str()); return false; } int status = ::connect ( _sd, reinterpret_cast(&_sockaddr), sizeof ( _sockaddr ) ); if ( status == SOCKET_ERROR ) { XBMC->Log(LOG_ERROR, "Socket::connect %s:%u\n", host.c_str(), port); errormessage( getLastError(), "Socket::connect" ); return false; } return true; } bool Socket::reconnect() { if ( _sd != INVALID_SOCKET ) { return true; } if( !create() ) return false; int status = ::connect ( _sd, reinterpret_cast(&_sockaddr), sizeof ( _sockaddr ) ); if ( status == SOCKET_ERROR ) { errormessage( getLastError(), "Socket::connect" ); return false; } return true; } bool Socket::is_valid() const { return (_sd != INVALID_SOCKET); } #if defined(TARGET_WINDOWS) bool Socket::set_non_blocking ( const bool b ) { u_long iMode; if ( b ) iMode = 1; // enable non_blocking else iMode = 0; // disable non_blocking if (ioctlsocket(_sd, FIONBIO, &iMode) == -1) { XBMC->Log(LOG_ERROR, "Socket::set_non_blocking - Can't set socket condition to: %i", iMode); return false; } return true; } void Socket::errormessage( int errnum, const char* functionname) const { const char* errmsg = NULL; switch (errnum) { case WSANOTINITIALISED: errmsg = "A successful WSAStartup call must occur before using this function."; break; case WSAENETDOWN: errmsg = "The network subsystem or the associated service provider has failed"; break; case WSA_NOT_ENOUGH_MEMORY: errmsg = "Insufficient memory available"; break; case WSA_INVALID_PARAMETER: errmsg = "One or more parameters are invalid"; break; case WSA_OPERATION_ABORTED: errmsg = "Overlapped operation aborted"; break; case WSAEINTR: errmsg = "Interrupted function call"; break; case WSAEBADF: errmsg = "File handle is not valid"; break; case WSAEACCES: errmsg = "Permission denied"; break; case WSAEFAULT: errmsg = "Bad address"; break; case WSAEINVAL: errmsg = "Invalid argument"; break; case WSAENOTSOCK: errmsg = "Socket operation on nonsocket"; break; case WSAEDESTADDRREQ: errmsg = "Destination address required"; break; case WSAEMSGSIZE: errmsg = "Message too long"; break; case WSAEPROTOTYPE: errmsg = "Protocol wrong type for socket"; break; case WSAENOPROTOOPT: errmsg = "Bad protocol option"; break; case WSAEPFNOSUPPORT: errmsg = "Protocol family not supported"; break; case WSAEAFNOSUPPORT: errmsg = "Address family not supported by protocol family"; break; case WSAEADDRINUSE: errmsg = "Address already in use"; break; case WSAECONNRESET: errmsg = "Connection reset by peer"; break; case WSAHOST_NOT_FOUND: errmsg = "Authoritative answer host not found"; break; case WSATRY_AGAIN: errmsg = "Nonauthoritative host not found, or server failure"; break; case WSAEISCONN: errmsg = "Socket is already connected"; break; case WSAETIMEDOUT: errmsg = "Connection timed out"; break; case WSAECONNREFUSED: errmsg = "Connection refused"; break; case WSANO_DATA: errmsg = "Valid name, no data record of requested type"; break; default: errmsg = "WSA Error"; } XBMC->Log(LOG_ERROR, "%s: (Winsock error=%i) %s\n", functionname, errnum, errmsg); } int Socket::getLastError() const { return WSAGetLastError(); } int Socket::win_usage_count = 0; //Declared static in Socket class bool Socket::osInit() { win_usage_count++; // initialize winsock: if (WSAStartup(MAKEWORD(2,2),&_wsaData) != 0) { return false; } WORD wVersionRequested = MAKEWORD(2,2); // check version if (_wsaData.wVersion != wVersionRequested) { return false; } return true; } void Socket::osCleanup() { win_usage_count--; if(win_usage_count == 0) { WSACleanup(); } } #elif defined TARGET_LINUX || defined TARGET_DARWIN || defined TARGET_FREEBSD bool Socket::set_non_blocking ( const bool b ) { int opts; opts = fcntl(_sd, F_GETFL); if ( opts < 0 ) { return false; } if ( b ) opts = ( opts | O_NONBLOCK ); else opts = ( opts & ~O_NONBLOCK ); if(fcntl (_sd , F_SETFL, opts) == -1) { XBMC->Log(LOG_ERROR, "Socket::set_non_blocking - Can't set socket flags to: %i", opts); return false; } return true; } void Socket::errormessage( int errnum, const char* functionname) const { const char* errmsg = NULL; switch ( errnum ) { case EAGAIN: //same as EWOULDBLOCK errmsg = "EAGAIN: The socket is marked non-blocking and the requested operation would block"; break; case EBADF: errmsg = "EBADF: An invalid descriptor was specified"; break; case ECONNRESET: errmsg = "ECONNRESET: Connection reset by peer"; break; case EDESTADDRREQ: errmsg = "EDESTADDRREQ: The socket is not in connection mode and no peer address is set"; break; case EFAULT: errmsg = "EFAULT: An invalid userspace address was specified for a parameter"; break; case EINTR: errmsg = "EINTR: A signal occurred before data was transmitted"; break; case EINVAL: errmsg = "EINVAL: Invalid argument passed"; break; case ENOTSOCK: errmsg = "ENOTSOCK: The argument is not a valid socket"; break; case EMSGSIZE: errmsg = "EMSGSIZE: The socket requires that message be sent atomically, and the size of the message to be sent made this impossible"; break; case ENOBUFS: errmsg = "ENOBUFS: The output queue for a network interface was full"; break; case ENOMEM: errmsg = "ENOMEM: No memory available"; break; case EPIPE: errmsg = "EPIPE: The local end has been shut down on a connection oriented socket"; break; case EPROTONOSUPPORT: errmsg = "EPROTONOSUPPORT: The protocol type or the specified protocol is not supported within this domain"; break; case EAFNOSUPPORT: errmsg = "EAFNOSUPPORT: The implementation does not support the specified address family"; break; case ENFILE: errmsg = "ENFILE: Not enough kernel memory to allocate a new socket structure"; break; case EMFILE: errmsg = "EMFILE: Process file table overflow"; break; case EACCES: errmsg = "EACCES: Permission to create a socket of the specified type and/or protocol is denied"; break; case ECONNREFUSED: errmsg = "ECONNREFUSED: A remote host refused to allow the network connection (typically because it is not running the requested service)"; break; case ENOTCONN: errmsg = "ENOTCONN: The socket is associated with a connection-oriented protocol and has not been connected"; break; //case E: // errmsg = ""; // break; default: break; } XBMC->Log(LOG_ERROR, "%s: (errno=%i) %s\n", functionname, errnum, errmsg); } int Socket::getLastError() const { return errno; } bool Socket::osInit() { // Not needed for Linux return true; } void Socket::osCleanup() { // Not needed for Linux } #endif //TARGET_WINDOWS || TARGET_LINUX || TARGET_DARWIN || TARGET_FREEBSD void Socket::SetServerName(std::string strServerName) { _serverName = strServerName; } void Socket::SetClientName(std::string strClientName) { _clientName = strClientName; } void Socket::SetServerPort(int port) { _port = port; } int Socket::SendRequest(std::string requestStr) { std::string sRequest; sRequest = string_format("%s|%s", _clientName.c_str(), requestStr.c_str()); // build the request string int status = send(sRequest); return status; } // set a timeout for the next socket operation called, otherwise no timout is set void Socket::SetTimeOut(int tSec) { _timeout = tSec; } std::vector Socket::GetVector(const std::string &request, bool allowRetry, bool allowWOL /* = true*/) { int maxAttempts = 3; int sleepAttemptsMs = 1000; P8PLATFORM::CLockObject lock(m_mutex); // only process one request at a time int code; std::vector reponses; int cntAttempts = 1; while (cntAttempts <= maxAttempts) { XBMC->Log(LOG_DEBUG, "Socket::GetVector> Send request \"%s\"", request.c_str()); reponses.clear(); if (!create()) // create the socket { XBMC->Log(LOG_ERROR, "Socket::GetVector> error could not create socket"); reponses.push_back("SocketError"); // set a SocketError message (not fatal) } else // socket created OK { // Attempt Wake On Lan if (g_BackendOnline != BACKEND_UP && allowWOL && g_bWakeOnLAN && g_strServerMAC != "") { XBMC->Log(LOG_INFO, "Socket::GetVector> Sending WOL packet to %s", g_strServerMAC.c_str()); if (g_BackendOnline != BACKEND_UNKNOWN) { std::string infoStr = XBMC->GetLocalizedString(30026); XBMC->QueueNotification(QUEUE_INFO, infoStr.c_str()); // Notify WOL is being sent } XBMC->WakeOnLan(g_strServerMAC.c_str()); // Send WOL request } if (!connect(_serverName, (unsigned short)_port)) // if this fails, it is likely due to server down { // Failed to connect g_BackendOnline = BACKEND_DOWN; XBMC->Log(LOG_ERROR, "Socket::GetVector> Server is down"); reponses.push_back("ServerDown"); // set a server down error message (not fatal) } else { // Connected OK g_BackendOnline = BACKEND_UP; int bytesSent = SendRequest(request.c_str()); // send request to server if (bytesSent > 0) // if request was sent successfully { if (!ReadResponses(code, reponses)) { XBMC->Log(LOG_ERROR, "Socket::GetVector> error getting responses"); reponses.clear(); reponses.push_back("SocketError"); } else { break; } } else // error sending request { XBMC->Log(LOG_ERROR, "Socket::GetVector> error sending server request"); reponses.push_back("SocketError"); } } } if (!allowRetry) { break; } cntAttempts++; XBMC->Log(LOG_DEBUG, "Socket::GetVector> Retrying in %ims", sleepAttemptsMs); usleep(sleepAttemptsMs * 1000); } close(); // close socket return reponses; // return responses } std::string Socket::GetString(const std::string &request, bool allowRetry, bool allowWOL /* = true*/) { std::vector result = GetVector(request, allowRetry, allowWOL); return result[0]; } bool Socket::GetBool(const std::string &request, bool allowRetry, bool allowWOL /* = true*/) { return GetString(request, allowRetry, allowWOL) == "True"; } int Socket::GetInt(const std::string &request, bool allowRetry, bool allowWOL /* = true*/) { std::string valStr = GetString(request, allowRetry, allowWOL); long val = strtol(valStr.c_str(), 0, 10); return val; } long long Socket::GetLL(const std::string &request, bool allowRetry, bool allowWOL /* = true*/) { std::string valStr = GetString(request, allowRetry, allowWOL); long long val = strtoll(valStr.c_str(), NULL, 10); return val; } pvr.wmc-2.4.5-Leia/src/Socket.h000066400000000000000000000171331354134156400161710ustar00rootroot00000000000000/* * Copyright (C) 2005-2015 Team XBMC * http://xbmc.org * * This Program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * This Program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with XBMC; see the file COPYING. If not, see * . * */ #pragma once //Include platform specific datatypes, header files, defines and constants: #if defined TARGET_WINDOWS #define WIN32_LEAN_AND_MEAN // Enable LEAN_AND_MEAN support #pragma warning(disable:4005) // Disable "warning C4005: '_WINSOCKAPI_' : macro redefinition" #include #pragma warning(default:4005) #include #ifndef NI_MAXHOST #define NI_MAXHOST 1025 #endif #ifndef socklen_t typedef int socklen_t; #endif #ifndef ipaddr_t typedef unsigned long ipaddr_t; #endif #ifndef port_t typedef unsigned short port_t; #endif #ifndef sa_family_t #define sa_family_t ADDRESS_FAMILY #endif #elif defined TARGET_LINUX || defined TARGET_DARWIN || defined TARGET_FREEBSD #ifdef SOCKADDR_IN #undef SOCKADDR_IN #endif #include /* for socket,connect */ #include /* for socket,connect */ #include /* for Unix socket */ #include /* for inet_pton */ #include /* for gethostbyname */ #include /* for htons */ #include /* for read, write, close */ #include #include typedef int SOCKET; typedef sockaddr SOCKADDR; typedef sockaddr_in SOCKADDR_IN; #ifndef INVALID_SOCKET #define INVALID_SOCKET (-1) #endif #define SOCKET_ERROR (-1) #else #error Platform specific socket support is not yet available on this platform! #endif #include #define MAXCONNECTIONS 1 ///< Maximum number of pending connections before "Connection refused" #define MAXRECV 1500 ///< Maximum packet size enum SocketFamily { #ifdef CONFIG_SOCKET_IPV6 af_inet6 = AF_INET6, af_unspec = AF_UNSPEC, ///< Either INET or INET6 #endif af_inet = AF_INET }; enum SocketDomain { #if defined TARGET_LINUX || defined TARGET_DARWIN || defined TARGET_FREEBSD pf_unix = PF_UNIX, pf_local = PF_LOCAL, #endif #ifdef CONFIG_SOCKET_IPV6 pf_inet6 = PF_INET6, pf_unspec = PF_UNSPEC, //< Either INET or INET6 #endif pf_inet = PF_INET }; enum SocketType { sock_stream = SOCK_STREAM, sock_dgram = SOCK_DGRAM }; enum SocketProtocol { tcp = IPPROTO_TCP, udp = IPPROTO_UDP #ifdef CONFIG_SOCKET_IPV6 , ipv6 = IPPROTO_IPV6 #endif }; class Socket { public: /*! * An unconnected socket may be created directly on the local * machine. The socket type (SOCK_STREAM, SOCK_DGRAM) and * protocol may also be specified. * If the socket cannot be created, an exception is thrown. * * \param family Socket family (IPv4 or IPv6) * \param domain The domain parameter specifies a communications domain within which communication will take place; * this selects the protocol family which should be used. * \param type base type and protocol family of the socket. * \param protocol specific protocol to apply. */ Socket(const enum SocketFamily family, const enum SocketDomain domain, const enum SocketType type, const enum SocketProtocol protocol = tcp); Socket(void); virtual ~Socket(); //Socket settings /*! * Socket setFamily * \param family Can be af_inet or af_inet6. Default: af_inet */ void setFamily(const enum SocketFamily family) { _family = family; }; /*! * Socket setDomain * \param domain Can be pf_unix, pf_local, pf_inet or pf_inet6. Default: pf_inet */ void setDomain(const enum SocketDomain domain) { _domain = domain; }; /*! * Socket setType * \param type Can be sock_stream or sock_dgram. Default: sock_stream. */ void setType(const enum SocketType type) { _type = type; }; /*! * Socket setProtocol * \param protocol Can be tcp or udp. Default: tcp. */ void setProtocol(const enum SocketProtocol protocol) { _protocol = protocol; }; /*! * Socket setPort * \param port port number for socket communication */ void setPort (const unsigned short port) { _sockaddr.sin_port = htons ( port ); }; bool setHostname ( const std::string& host ); // Server initialization /*! * Socket create * Create a new socket * \return True if succesful */ bool create(); /*! * Socket close * Close the socket * \return True if succesful */ bool close(); /*! * Socket bind */ //bool bind ( const unsigned short port ); //bool listen() const; //bool accept ( Socket& socket ) const; // Client initialization bool connect ( const std::string& host, const unsigned short port ); bool reconnect(); // Data Transmission /*! * Socket send function * * \param data Reference to a std::string with the data to transmit * \return Number of bytes send or -1 in case of an error */ int send ( const std::string& data ); /*! * Socket send function * * \param data Pointer to a character array of size 'size' with the data to transmit * \param size Length of the data to transmit * \return Number of bytes send or -1 in case of an error */ int send ( const char* data, const unsigned int size ); bool set_non_blocking ( const bool ); bool ReadResponses(int &code, std::vector &lines); bool is_valid() const; private: SOCKET _sd; ///< Socket Descriptor SOCKADDR_IN _sockaddr; ///< Socket Address enum SocketFamily _family; ///< Socket Address Family enum SocketProtocol _protocol; ///< Socket Protocol enum SocketType _type; ///< Socket Type enum SocketDomain _domain; ///< Socket domain #ifdef TARGET_WINDOWS WSADATA _wsaData; ///< Windows Socket data static int win_usage_count; ///< Internal Windows usage counter used to prevent a global WSACleanup when more than one Socket object is used #endif void errormessage( int errornum, const char* functionname = NULL) const; int getLastError(void) const; bool osInit(); void osCleanup(); // client interface private: std::string _serverName; std::string _clientName; int _port; int SendRequest(std::string requestStr); public: void SetServerName(std::string strServerName); void SetClientName(std::string strClientName); void SetServerPort(int port); std::vector GetVector(const std::string &request, bool allowRetry, bool allowWOL = true); std::string GetString(const std::string &request, bool allowRetry, bool allowWOL = true); bool GetBool(const std::string &request, bool allowRetry, bool allowWOL = true); int GetInt(const std::string &request, bool allowRetry, bool allowWOL = true); long long GetLL(const std::string &request, bool allowRetry, bool allowWOL = true); void SetTimeOut(int tSec); }; pvr.wmc-2.4.5-Leia/src/client.cpp000066400000000000000000000412361354134156400165530ustar00rootroot00000000000000/* * Copyright (C) 2005-2015 Team XBMC * http://xbmc.org * * This Program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * This Program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with XBMC; see the file COPYING. If not, see * . * */ #include "client.h" #include "kodi/xbmc_pvr_dll.h" #include "pvr2wmc.h" #include "utilities.h" #include "p8-platform/util/util.h" using namespace ADDON; #define DEFAULT_PORT 9080 #define DEFAULT_WAKEONLAN_ENABLE false #define DEFAULT_SIGNAL_ENABLE false #define DEFAULT_SIGNAL_THROTTLE 10 #define DEFAULT_MULTI_RESUME true Pvr2Wmc* _wmc = NULL; bool _bCreated = false; ADDON_STATUS _CurStatus = ADDON_STATUS_UNKNOWN; bool _bIsPlaying = false; PVR_CHANNEL _currentChannel; PVR_MENUHOOK *menuHook = NULL; std::string g_strServerName; // the name of the server to connect to std::string g_strClientName; // the name of the computer running addon int g_port; bool g_bWakeOnLAN; // whether to send wake on LAN to server std::string g_strServerMAC; // MAC address of server bool g_bSignalEnable; int g_signalThrottle; bool g_bEnableMultiResume; std::string g_clientOS; // OS of client, passed to server backend_status g_BackendOnline; // whether the backend is online /* User adjustable settings are saved here. * Default values are defined inside client.h * and exported to the other source files. */ std::string g_strUserPath = ""; std::string g_strClientPath = ""; std::string g_AddonDataCustom = ""; // location of custom addondata settings file CHelper_libXBMC_addon *XBMC = NULL; CHelper_libXBMC_pvr *PVR = NULL; #define LOCALHOST "127.0.0.1" extern "C" { void ADDON_ReadSettings(void) { char buffer[512]; if (!XBMC) return; g_strServerName = LOCALHOST; g_strServerMAC = ""; g_bWakeOnLAN = false; g_port = DEFAULT_PORT; g_bSignalEnable = DEFAULT_SIGNAL_ENABLE; g_signalThrottle = DEFAULT_SIGNAL_THROTTLE; g_bEnableMultiResume = DEFAULT_MULTI_RESUME; /* Read setting "port" from settings.xml */ if (!XBMC->GetSetting("port", &g_port)) { XBMC->Log(LOG_ERROR, "Couldn't get 'port' setting, using '%i'", DEFAULT_PORT); } if (XBMC->GetSetting("host", &buffer)) { g_strServerName = buffer; XBMC->Log(LOG_DEBUG, "Settings: host='%s', port=%i", g_strServerName.c_str(), g_port); } else { XBMC->Log(LOG_ERROR, "Couldn't get 'host' setting, using '127.0.0.1'"); } if (!XBMC->GetSetting("wake_on_lan", &g_bWakeOnLAN)) { XBMC->Log(LOG_ERROR, "Couldn't get 'wake_on_lan' setting, using '%s'", DEFAULT_WAKEONLAN_ENABLE); } std::string fileContent; if (ReadFileContents(g_AddonDataCustom, fileContent)) { g_strServerMAC = fileContent; XBMC->Log(LOG_ERROR, "Using ServerWMC MAC address from custom addondata '%s'", g_strServerMAC.c_str()); } else { XBMC->Log(LOG_ERROR, "Couldn't get ServerWMC MAC address from custom addondata, using empty value"); } if (!XBMC->GetSetting("signal", &g_bSignalEnable)) { XBMC->Log(LOG_ERROR, "Couldn't get 'signal' setting, using '%s'", DEFAULT_SIGNAL_ENABLE); } if (!XBMC->GetSetting("signal_throttle", &g_signalThrottle)) { XBMC->Log(LOG_ERROR, "Couldn't get 'signal_throttle' setting, using '%s'", DEFAULT_SIGNAL_THROTTLE); } if (!XBMC->GetSetting("multiResume", &g_bEnableMultiResume)) { XBMC->Log(LOG_ERROR, "Couldn't get 'multiResume' setting, using '%s'", DEFAULT_MULTI_RESUME); } // get the name of the computer client is running on gethostname(buffer, 50); g_strClientName = buffer; // send this computers name to server #ifdef TARGET_WINDOWS g_clientOS = "windows"; // set to the client OS name #elif defined TARGET_LINUX g_clientOS = "linux"; // set to the client OS name #elif defined TARGET_DARWIN g_clientOS = "darwin"; // set to the client OS name #elif defined TARGET_FREEBSD g_clientOS = "freeBSD"; // set to the client OS name #else g_clientOS = ""; // set blank client OS name #endif } // create this addon (called by xbmc) ADDON_STATUS ADDON_Create(void* hdl, void* props) { if (!hdl || !props) return ADDON_STATUS_UNKNOWN; PVR_PROPERTIES* pvrprops = (PVR_PROPERTIES*)props; // register the addon XBMC = new CHelper_libXBMC_addon; if (!XBMC->RegisterMe(hdl)) { SAFE_DELETE(XBMC); return ADDON_STATUS_PERMANENT_FAILURE; } // register as pvr PVR = new CHelper_libXBMC_pvr; if (!PVR->RegisterMe(hdl)) { SAFE_DELETE(PVR); SAFE_DELETE(XBMC); return ADDON_STATUS_PERMANENT_FAILURE; } XBMC->Log(LOG_DEBUG, "%s - Creating the PVR-WMC add-on", __FUNCTION__); _CurStatus = ADDON_STATUS_UNKNOWN; g_strUserPath = pvrprops->strUserPath; g_strClientPath = pvrprops->strClientPath; g_AddonDataCustom = g_strUserPath + "ServerMACAddr.txt"; ADDON_ReadSettings(); _wmc = new Pvr2Wmc; // create interface to ServerWMC if (_wmc->IsServerDown()) // check if server is down, if it is shut her down { SAFE_DELETE(_wmc); SAFE_DELETE(PVR); SAFE_DELETE(XBMC); _CurStatus = ADDON_STATUS_LOST_CONNECTION; } else { _bCreated = true; _CurStatus = ADDON_STATUS_OK; } return _CurStatus; } // get status of addon's interface to wmc server ADDON_STATUS ADDON_GetStatus() { // check whether we're still connected if (_CurStatus == ADDON_STATUS_OK) { if (_wmc == NULL) _CurStatus = ADDON_STATUS_LOST_CONNECTION; else if (_wmc->IsServerDown()) _CurStatus = ADDON_STATUS_LOST_CONNECTION; } return _CurStatus; } void ADDON_Destroy() { if (_wmc) _wmc->UnLoading(); SAFE_DELETE(PVR); _bCreated = false; _CurStatus = ADDON_STATUS_UNKNOWN; } // Called everytime a setting is changed by the user and to inform AddOn about // new setting and to do required stuff to apply it. ADDON_STATUS ADDON_SetSetting(const char *settingName, const void *settingValue) { if (!XBMC) return ADDON_STATUS_OK; std::string sName = settingName; if (sName == "host") { std::string oldName = g_strServerName; g_strServerName = (const char*)settingValue; XBMC->Log(LOG_INFO, "Setting 'host' changed from %s to %s", g_strServerName.c_str(), (const char*) settingValue); if (oldName != g_strServerName) return ADDON_STATUS_NEED_RESTART; } return ADDON_STATUS_OK; } /*********************************************************** * PVR Client AddOn specific public library functions ***********************************************************/ void OnSystemSleep() { } void OnSystemWake() { } void OnPowerSavingActivated() { } void OnPowerSavingDeactivated() { } PVR_ERROR GetAddonCapabilities(PVR_ADDON_CAPABILITIES* pCapabilities) { pCapabilities->bSupportsEPG = true; pCapabilities->bSupportsTV = true; pCapabilities->bSupportsRadio = true; pCapabilities->bSupportsRecordings = true; pCapabilities->bSupportsRecordingsUndelete = false; pCapabilities->bSupportsTimers = true; pCapabilities->bSupportsChannelGroups = true; pCapabilities->bSupportsChannelScan = false; pCapabilities->bHandlesInputStream = true; pCapabilities->bHandlesDemuxing = false; pCapabilities->bSupportsRecordingPlayCount = true; pCapabilities->bSupportsLastPlayedPosition = g_bEnableMultiResume; pCapabilities->bSupportsRecordingEdl = true; pCapabilities->bSupportsRecordingsRename = true; pCapabilities->bSupportsRecordingsLifetimeChange = false; pCapabilities->bSupportsDescrambleInfo = false; return PVR_ERROR_NO_ERROR; } const char *GetBackendName(void) { static const char *strBackendName = "ServerWMC"; return strBackendName; } const char *GetBackendVersion(void) { if (_wmc) return _wmc->GetBackendVersion(); else return "0.0"; } const char *GetConnectionString(void) { static std::string strConnectionString; strConnectionString = string_format("%s:%u", g_strServerName.c_str(), g_port); return strConnectionString.c_str(); } const char *GetBackendHostname(void) { return g_strServerName.c_str(); } PVR_ERROR GetDriveSpace(long long *iTotal, long long *iUsed) { if (_wmc) return _wmc->GetDriveSpace(iTotal, iUsed); return PVR_ERROR_SERVER_ERROR; } PVR_ERROR GetEPGForChannel(ADDON_HANDLE handle, const PVR_CHANNEL &channel, time_t iStart, time_t iEnd) { if (_wmc) return _wmc->GetEPGForChannel(handle, channel, iStart, iEnd); return PVR_ERROR_SERVER_ERROR; } PVR_ERROR SignalStatus(PVR_SIGNAL_STATUS &signalStatus) { if (_wmc) return _wmc->SignalStatus(signalStatus); return PVR_ERROR_NO_ERROR; } // channel functions ----------------------------- int GetChannelsAmount(void) { if (_wmc) return _wmc->GetChannelsAmount(); return -1; } PVR_ERROR GetChannels(ADDON_HANDLE handle, bool bRadio) { if (_wmc) return _wmc->GetChannels(handle, bRadio); return PVR_ERROR_SERVER_ERROR; } int GetChannelGroupsAmount(void) { if (_wmc) return _wmc->GetChannelGroupsAmount(); return -1; } PVR_ERROR GetChannelGroups(ADDON_HANDLE handle, bool bRadio) { if (_wmc) return _wmc->GetChannelGroups(handle, bRadio); return PVR_ERROR_SERVER_ERROR; } PVR_ERROR GetChannelGroupMembers(ADDON_HANDLE handle, const PVR_CHANNEL_GROUP &group) { if (_wmc) return _wmc->GetChannelGroupMembers(handle, group); return PVR_ERROR_SERVER_ERROR; } // timer functions ----------------------- PVR_ERROR GetTimerTypes(PVR_TIMER_TYPE types[], int *size) { if (_wmc) return _wmc->GetTimerTypes(types, size); return PVR_ERROR_NOT_IMPLEMENTED; } int GetTimersAmount(void) { if (_wmc) return _wmc->GetTimersAmount(); return PVR_ERROR_SERVER_ERROR; } PVR_ERROR GetTimers(ADDON_HANDLE handle) { if (_wmc) return _wmc->GetTimers(handle); return PVR_ERROR_SERVER_ERROR; } PVR_ERROR AddTimer(const PVR_TIMER &timer) { if (_wmc) return _wmc->AddTimer(timer); return PVR_ERROR_NO_ERROR; } PVR_ERROR UpdateTimer(const PVR_TIMER &timer) { if (_wmc) return _wmc->AddTimer(timer); return PVR_ERROR_NO_ERROR; } PVR_ERROR DeleteTimer(const PVR_TIMER &timer, bool bForceDelete) { if (_wmc) return _wmc->DeleteTimer(timer, bForceDelete); return PVR_ERROR_NO_ERROR; } // recording file functions PVR_ERROR GetRecordings(ADDON_HANDLE handle, bool deleted) { if (!deleted && _wmc) return _wmc->GetRecordings(handle); return PVR_ERROR_NO_ERROR; } int GetRecordingsAmount(bool deleted) { if (!deleted && _wmc) return _wmc->GetRecordingsAmount(); return -1; } PVR_ERROR RenameRecording(const PVR_RECORDING &recording) { if (_wmc) return _wmc->RenameRecording(recording); return PVR_ERROR_NOT_IMPLEMENTED; } // live stream functions --------------------------- bool OpenLiveStream(const PVR_CHANNEL &channel) { if (_wmc) { if (_wmc->OpenLiveStream(channel)) { _bIsPlaying = true; return true; } } return false; } int ReadLiveStream(unsigned char *pBuffer, unsigned int iBufferSize) { if (_wmc) { return _wmc->ReadLiveStream(pBuffer, iBufferSize); } return -1; } void CloseLiveStream(void) { _bIsPlaying = false; if (_wmc) { _wmc->CloseLiveStream(); } } long long SeekLiveStream(long long iPosition, int iWhence /* = SEEK_SET */) { if (_wmc) return _wmc->SeekLiveStream(iPosition, iWhence); else return -1; } long long PositionLiveStream(void) { if (_wmc) return _wmc->PositionLiveStream(); else return -1; } long long LengthLiveStream(void) { if (_wmc) return _wmc->LengthLiveStream(); else return -1; } void PauseStream(bool bPaused) { if (_wmc) return _wmc->PauseStream(bPaused); } bool CanPauseStream(void) { return true; } bool CanSeekStream(void) { return true; } // recorded stream functions ----------------------------- bool OpenRecordedStream(const PVR_RECORDING &recording) { if (_wmc) { CloseLiveStream(); if (_wmc->OpenRecordedStream(recording)) { _bIsPlaying = true; return true; } } return false; } int ReadRecordedStream(unsigned char *pBuffer, unsigned int iBufferSize) { if (_wmc) { return _wmc->ReadLiveStream(pBuffer, iBufferSize); } return -1; } void CloseRecordedStream(void) { _bIsPlaying = false; if (_wmc) { _wmc->CloseLiveStream(); } } long long SeekRecordedStream(long long iPosition, int iWhence /* = SEEK_SET */) { if (_wmc) return _wmc->SeekLiveStream(iPosition, iWhence); else return -1; } long long PositionRecordedStream(void) { if (_wmc) return _wmc->PositionLiveStream(); else return -1; } long long LengthRecordedStream(void) { if (_wmc) return _wmc->LengthLiveStream(); else return -1; } // recorded file functions ----------------- PVR_ERROR DeleteRecording(const PVR_RECORDING &recording) { if (_wmc) return _wmc->DeleteRecording(recording); return PVR_ERROR_NO_ERROR; } PVR_ERROR SetRecordingLastPlayedPosition(const PVR_RECORDING &recording, int lastplayedposition) { if (_wmc && g_bEnableMultiResume) return _wmc->SetRecordingLastPlayedPosition(recording, lastplayedposition); return PVR_ERROR_NOT_IMPLEMENTED; } int GetRecordingLastPlayedPosition(const PVR_RECORDING &recording) { if (_wmc && g_bEnableMultiResume) return _wmc->GetRecordingLastPlayedPosition(recording); return -1; } PVR_ERROR SetRecordingPlayCount(const PVR_RECORDING &recording, int count) { if (_wmc && g_bEnableMultiResume) return _wmc->SetRecordingPlayCount(recording, count); return PVR_ERROR_NOT_IMPLEMENTED; } // time shift functions ----------------- bool IsTimeshifting(void) { if (_wmc) return _wmc->IsTimeShifting(); else return false; } PVR_ERROR GetStreamTimes(PVR_STREAM_TIMES *strTimes) { if (_wmc) return _wmc->GetStreamTimes(strTimes); else return PVR_ERROR_SERVER_ERROR; } PVR_ERROR GetRecordingEdl(const PVR_RECORDING &recording, PVR_EDL_ENTRY edlEntries[], int *count) { if (_wmc) return _wmc->GetRecordingEdl(recording, edlEntries, count); else return PVR_ERROR_SERVER_ERROR; } /** UNUSED API FUNCTIONS */ PVR_ERROR OpenDialogChannelScan(void) { return PVR_ERROR_NOT_IMPLEMENTED; } PVR_ERROR DeleteChannel(const PVR_CHANNEL &channel) { return PVR_ERROR_NOT_IMPLEMENTED; } PVR_ERROR RenameChannel(const PVR_CHANNEL &channel) { return PVR_ERROR_NOT_IMPLEMENTED; } PVR_ERROR MoveChannel(const PVR_CHANNEL &channel) { return PVR_ERROR_NOT_IMPLEMENTED; } PVR_ERROR OpenDialogChannelSettings(const PVR_CHANNEL &channel) { return PVR_ERROR_NOT_IMPLEMENTED; } PVR_ERROR OpenDialogChannelAdd(const PVR_CHANNEL &channel) { return PVR_ERROR_NOT_IMPLEMENTED; } void DemuxReset(void) {} void DemuxFlush(void) {} void DemuxAbort(void) {} DemuxPacket* DemuxRead(void) { return NULL; } bool SeekTime(double,bool,double*) { return false; } void SetSpeed(int) {}; bool IsRealTimeStream(void) { return true; } PVR_ERROR UndeleteRecording(const PVR_RECORDING& recording) { return PVR_ERROR_NOT_IMPLEMENTED; } PVR_ERROR DeleteAllRecordingsFromTrash() { return PVR_ERROR_NOT_IMPLEMENTED; } PVR_ERROR SetEPGTimeFrame(int) { return PVR_ERROR_NOT_IMPLEMENTED; } PVR_ERROR GetDescrambleInfo(PVR_DESCRAMBLE_INFO*) { return PVR_ERROR_NOT_IMPLEMENTED; } PVR_ERROR SetRecordingLifetime(const PVR_RECORDING*) { return PVR_ERROR_NOT_IMPLEMENTED; } PVR_ERROR CallMenuHook(const PVR_MENUHOOK &menuhook, const PVR_MENUHOOK_DATA &item) { return PVR_ERROR_NOT_IMPLEMENTED; } PVR_ERROR IsEPGTagPlayable(const EPG_TAG*, bool*) { return PVR_ERROR_NOT_IMPLEMENTED; } PVR_ERROR IsEPGTagRecordable(const EPG_TAG*, bool*) { return PVR_ERROR_NOT_IMPLEMENTED; } PVR_ERROR GetEPGTagStreamProperties(const EPG_TAG*, PVR_NAMED_VALUE*, unsigned int*) { return PVR_ERROR_NOT_IMPLEMENTED; } PVR_ERROR GetEPGTagEdl(const EPG_TAG* epgTag, PVR_EDL_ENTRY edl[], int *size) { return PVR_ERROR_NOT_IMPLEMENTED; } PVR_ERROR GetStreamProperties(PVR_STREAM_PROPERTIES* pProperties) { return PVR_ERROR_NOT_IMPLEMENTED; } PVR_ERROR GetChannelStreamProperties(const PVR_CHANNEL* channel, PVR_NAMED_VALUE* properties, unsigned int* iPropertiesCount) { return PVR_ERROR_NOT_IMPLEMENTED; } PVR_ERROR GetRecordingStreamProperties(const PVR_RECORDING*, PVR_NAMED_VALUE*, unsigned int*) { return PVR_ERROR_NOT_IMPLEMENTED; } PVR_ERROR GetStreamReadChunkSize(int* chunksize) { return PVR_ERROR_NOT_IMPLEMENTED; } } pvr.wmc-2.4.5-Leia/src/client.h000066400000000000000000000034161354134156400162160ustar00rootroot00000000000000/* * Copyright (C) 2005-2015 Team XBMC * http://xbmc.org * * This Program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * This Program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with XBMC; see the file COPYING. If not, see * . * */ #pragma once #include "kodi/libXBMC_addon.h" #include "kodi/libXBMC_pvr.h" #include "kodi/libKODI_guilib.h" #include #include "clientversion.h" #define string_format StringUtils::Format #define split StringUtils::Split extern bool m_bCreated; extern std::string g_strUserPath; extern std::string g_strClientPath; extern std::string g_strServerName; // the name of the server to connect to extern std::string g_strClientName; // the name of the computer running addon extern std::string g_clientOS; // OS of client, passed to server extern int g_port; extern bool g_bSignalEnable; extern int g_signalThrottle; extern bool g_bEnableMultiResume; extern ADDON::CHelper_libXBMC_addon *XBMC; extern CHelper_libXBMC_pvr *PVR; extern std::string g_strServerMAC; extern bool g_bWakeOnLAN; extern std::string g_AddonDataCustom; enum backend_status { BACKEND_UNKNOWN, BACKEND_DOWN, BACKEND_UP }; extern backend_status g_BackendOnline; pvr.wmc-2.4.5-Leia/src/clientversion.h000066400000000000000000000016011354134156400176160ustar00rootroot00000000000000/* * Copyright (C) 2005-2015 Team XBMC * http://xbmc.org * * This Program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * This Program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with XBMC; see the file COPYING. If not, see * . * */ #pragma once inline std::string PVRWMC_GetClientVersion() { return "2.4.4"; // ALSO CHANGE IN REV NUMBER in 'pvr.wmc/addon.xml.in' } pvr.wmc-2.4.5-Leia/src/pvr2wmc.cpp000066400000000000000000001676451354134156400167120ustar00rootroot00000000000000/* * Copyright (C) 2005-2015 Team XBMC * http://xbmc.org * * This Program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * This Program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with XBMC; see the file COPYING. If not, see * . * */ #include "util/XMLUtils.h" #include "pvr2wmc.h" #include "utilities.h" #include "p8-platform/util/timeutils.h" #include using namespace std; using namespace ADDON; using namespace P8PLATFORM; #define null NULL #define STRCPY(dest, src) strncpy(dest, src, sizeof(dest)-1); #define FOREACH(ss, vv) for(std::vector::iterator ss = vv.begin(); ss != vv.end(); ++ss) int64_t _lastRecordingUpdateTime; // the time of the last recording display update long _buffTimesCnt; // filter how often we do buffer status reads long _buffTimeFILTER; Pvr2Wmc::Pvr2Wmc(void) { _socketClient.SetServerName(g_strServerName); _socketClient.SetClientName(g_strClientName); _socketClient.SetServerPort(g_port); _diskTotal = 0; _diskUsed = 0; _signalStatusCount = 0; // for signal status display _discardSignalStatus = false; _streamFile = 0; // handle to a streamed file _streamFileName = ""; _readCnt = 0; _initialStreamResetCnt = 0; // used to count how many times we reset the stream position (due to 2 pass demuxer) _initialStreamPosition = 0; // used to set an initial position (multiple clients watching the same live tv buffer) _lastRecordingUpdateTime = 0; // time of last recording display update _lostStream = false; // set to true if stream is lost _lastStreamSize = 0; // the last value found for the stream file size _isStreamFileGrowing = false; // true if stream file is growing (server determines) _streamWTV = true; // by default, assume we are streaming Wtv files (not ts files) _defaultPriority = WMC_PRIORITY_NORMAL; _defaultLiftetime = WMC_LIFETIME_ELIGIBLE; _defaultLimit = WMC_LIMIT_ASMANY; _defaultShowType = WMC_SHOWTYPE_ANY; } Pvr2Wmc::~Pvr2Wmc(void) { } bool Pvr2Wmc::IsServerDown() { std::string request; request = string_format("GetServiceStatus|%s|%s", PVRWMC_GetClientVersion().c_str(), g_clientOS.c_str()); _socketClient.SetTimeOut(10); // set a timout interval for checking if server is down vector results = _socketClient.GetVector(request, true); // get serverstatus bool isServerDown = (results[0] != "True"); // true if server is down // GetServiceStatus may return any updates requested by server if (!isServerDown && results.size() > 1) // if server is not down and there are additional fields { ExtractDriveSpace(results); // get drive space total/used from backend response TriggerUpdates(results); // send update array to trigger updates requested by server } return isServerDown; } void Pvr2Wmc::UnLoading() { _socketClient.GetBool("ClientGoingDown", true, false); // returns true if server is up } const char *Pvr2Wmc::GetBackendVersion(void) { if (!IsServerDown()) { static std::string strVersion = "0.0"; // Send client's time (in UTC) to backend time_t now = time(NULL); char datestr[32]; strftime(datestr, 32, "%Y-%m-%d %H:%M:%S", gmtime(&now)); // Also send this client's setting for backend servername (so server knows how it is being accessed) std::string request; request = string_format("GetServerVersion|%s|%s", datestr, g_strServerName.c_str()); vector results = _socketClient.GetVector(request, true); if (results.size() > 0) { strVersion = std::string(results[0]); } if (results.size() > 1) { _serverBuild = atoi(results[1].c_str()); // get server build number for feature checking } // check if recorded tv folder is accessible from client if (results.size() > 2 && results[2] != "") // if server sends empty string, skip check { if (!XBMC->DirectoryExists(results[2].c_str())) { XBMC->Log(LOG_ERROR, "Recorded tv '%s' does not exist", results[2].c_str()); std::string infoStr = XBMC->GetLocalizedString(30017); XBMC->QueueNotification(QUEUE_ERROR, infoStr.c_str()); } else if (!XBMC->CanOpenDirectory(results[2].c_str())) { XBMC->Log(LOG_ERROR, "Recorded tv '%s' count not be opened", results[2].c_str()); std::string infoStr = XBMC->GetLocalizedString(30018); XBMC->QueueNotification(QUEUE_ERROR, infoStr.c_str()); } } // check if server returned it's MAC address if (results.size() > 3 && results[3] != "" && results[3] != g_strServerMAC) { XBMC->Log(LOG_INFO, "Setting ServerWMC Server MAC Address to '%s'", results[3].c_str()); g_strServerMAC = results[3]; // Attempt to save MAC address to custom addon data WriteFileContents(g_AddonDataCustom, g_strServerMAC); } return strVersion.c_str(); // return server version to caller } return "Not accessible"; // server version check failed } namespace { struct TimerType : PVR_TIMER_TYPE { TimerType(unsigned int id, unsigned int attributes, const std::string &description, const std::vector< std::pair > &priorityValues, int priorityDefault, const std::vector< std::pair > &lifetimeValues, int lifetimeDefault, const std::vector< std::pair > &maxRecordingsValues, int maxRecordingsDefault, const std::vector< std::pair > &dupEpisodesValues, int dupEpisodesDefault ) { memset(this, 0, sizeof(PVR_TIMER_TYPE)); iId = id; iAttributes = attributes; iPrioritiesSize = priorityValues.size(); iPrioritiesDefault = priorityDefault; iLifetimesSize = lifetimeValues.size(); iLifetimesDefault = lifetimeDefault; iMaxRecordingsSize = maxRecordingsValues.size(); iMaxRecordingsDefault = maxRecordingsDefault; iPreventDuplicateEpisodesSize = dupEpisodesValues.size(); iPreventDuplicateEpisodesDefault = dupEpisodesDefault; strncpy(strDescription, description.c_str(), sizeof(strDescription) - 1); int i = 0; for (auto it = priorityValues.begin(); it != priorityValues.end(); ++it, ++i) { priorities[i].iValue = it->first; strncpy(priorities[i].strDescription, it->second.c_str(), sizeof(priorities[i].strDescription) - 1); } i = 0; for (auto it = lifetimeValues.begin(); it != lifetimeValues.end(); ++it, ++i) { lifetimes[i].iValue = it->first; strncpy(lifetimes[i].strDescription, it->second.c_str(), sizeof(lifetimes[i].strDescription) - 1); } i = 0; for (auto it = maxRecordingsValues.begin(); it != maxRecordingsValues.end(); ++it, ++i) { maxRecordings[i].iValue = it->first; strncpy(maxRecordings[i].strDescription, it->second.c_str(), sizeof(maxRecordings[i].strDescription) - 1); } i = 0; for (auto it = dupEpisodesValues.begin(); it != dupEpisodesValues.end(); ++it, ++i) { preventDuplicateEpisodes[i].iValue = it->first; strncpy(preventDuplicateEpisodes[i].strDescription, it->second.c_str(), sizeof(preventDuplicateEpisodes[i].strDescription) - 1); } } }; } // unnamed namespace PVR_ERROR Pvr2Wmc::GetTimerTypes ( PVR_TIMER_TYPE types[], int *size ) { /* PVR_Timer.iPriority values and presentation.*/ static std::vector< std::pair > priorityValues; if (priorityValues.size() == 0) { priorityValues.push_back(std::make_pair(WMC_PRIORITY_NORMAL, XBMC->GetLocalizedString(30140))); priorityValues.push_back(std::make_pair(WMC_PRIORITY_HIGH, XBMC->GetLocalizedString(30141))); priorityValues.push_back(std::make_pair(WMC_PRIORITY_LOW, XBMC->GetLocalizedString(30142))); } /* PVR_Timer.iLifeTime values and presentation.*/ static std::vector< std::pair > lifetimeValues; if (lifetimeValues.size() == 0) { lifetimeValues.push_back(std::make_pair(WMC_LIFETIME_NOTSET, XBMC->GetLocalizedString(30160))); lifetimeValues.push_back(std::make_pair(WMC_LIFETIME_LATEST, XBMC->GetLocalizedString(30161))); lifetimeValues.push_back(std::make_pair(WMC_LIFETIME_WATCHED, XBMC->GetLocalizedString(30162))); lifetimeValues.push_back(std::make_pair(WMC_LIFETIME_ELIGIBLE, XBMC->GetLocalizedString(30163))); lifetimeValues.push_back(std::make_pair(WMC_LIFETIME_DELETED, XBMC->GetLocalizedString(30164))); lifetimeValues.push_back(std::make_pair(WMC_LIFETIME_ONEWEEK, XBMC->GetLocalizedString(30165))); } /* PVR_Timer.iMaxRecordings values and presentation. */ static std::vector< std::pair > recordingLimitValues; if (recordingLimitValues.size() == 0) { recordingLimitValues.push_back(std::make_pair(WMC_LIMIT_ASMANY, XBMC->GetLocalizedString(30170))); recordingLimitValues.push_back(std::make_pair(WMC_LIMIT_1, XBMC->GetLocalizedString(30171))); recordingLimitValues.push_back(std::make_pair(WMC_LIMIT_2, XBMC->GetLocalizedString(30172))); recordingLimitValues.push_back(std::make_pair(WMC_LIMIT_3, XBMC->GetLocalizedString(30173))); recordingLimitValues.push_back(std::make_pair(WMC_LIMIT_4, XBMC->GetLocalizedString(30174))); recordingLimitValues.push_back(std::make_pair(WMC_LIMIT_5, XBMC->GetLocalizedString(30175))); recordingLimitValues.push_back(std::make_pair(WMC_LIMIT_6, XBMC->GetLocalizedString(30176))); recordingLimitValues.push_back(std::make_pair(WMC_LIMIT_7, XBMC->GetLocalizedString(30177))); recordingLimitValues.push_back(std::make_pair(WMC_LIMIT_10, XBMC->GetLocalizedString(30178))); } /* PVR_Timer.iPreventDuplicateEpisodes values and presentation.*/ static std::vector< std::pair > showTypeValues; if (showTypeValues.size() == 0) { showTypeValues.push_back(std::make_pair(WMC_SHOWTYPE_FIRSTRUNONLY, XBMC->GetLocalizedString(30150))); showTypeValues.push_back(std::make_pair(WMC_SHOWTYPE_ANY, XBMC->GetLocalizedString(30151))); showTypeValues.push_back(std::make_pair(WMC_SHOWTYPE_LIVEONLY, XBMC->GetLocalizedString(30152))); } static std::vector< std::pair > emptyList; static const unsigned int TIMER_MANUAL_ATTRIBS = PVR_TIMER_TYPE_IS_MANUAL | PVR_TIMER_TYPE_SUPPORTS_CHANNELS | PVR_TIMER_TYPE_SUPPORTS_START_TIME | PVR_TIMER_TYPE_SUPPORTS_END_TIME | PVR_TIMER_TYPE_SUPPORTS_PRIORITY | PVR_TIMER_TYPE_SUPPORTS_LIFETIME; static const unsigned int TIMER_EPG_ATTRIBS = PVR_TIMER_TYPE_REQUIRES_EPG_TAG_ON_CREATE | PVR_TIMER_TYPE_SUPPORTS_CHANNELS | PVR_TIMER_TYPE_SUPPORTS_START_END_MARGIN | PVR_TIMER_TYPE_SUPPORTS_PRIORITY | PVR_TIMER_TYPE_SUPPORTS_LIFETIME; static const unsigned int TIMER_KEYWORD_ATTRIBS = PVR_TIMER_TYPE_SUPPORTS_FULLTEXT_EPG_MATCH | PVR_TIMER_TYPE_SUPPORTS_CHANNELS | PVR_TIMER_TYPE_SUPPORTS_TITLE_EPG_MATCH | PVR_TIMER_TYPE_SUPPORTS_START_END_MARGIN | PVR_TIMER_TYPE_SUPPORTS_PRIORITY | PVR_TIMER_TYPE_SUPPORTS_LIFETIME; static const unsigned int TIMER_REPEATING_MANUAL_ATTRIBS = PVR_TIMER_TYPE_IS_REPEATING | PVR_TIMER_TYPE_SUPPORTS_WEEKDAYS | PVR_TIMER_TYPE_SUPPORTS_MAX_RECORDINGS; static const unsigned int TIMER_REPEATING_EPG_ATTRIBS = PVR_TIMER_TYPE_IS_REPEATING | PVR_TIMER_TYPE_REQUIRES_EPG_SERIES_ON_CREATE | PVR_TIMER_TYPE_SUPPORTS_START_ANYTIME | PVR_TIMER_TYPE_SUPPORTS_WEEKDAYS | PVR_TIMER_TYPE_SUPPORTS_RECORD_ONLY_NEW_EPISODES | PVR_TIMER_TYPE_SUPPORTS_MAX_RECORDINGS; static const unsigned int TIMER_REPEATING_KEYWORD_ATTRIBS = PVR_TIMER_TYPE_IS_REPEATING | PVR_TIMER_TYPE_SUPPORTS_RECORD_ONLY_NEW_EPISODES | PVR_TIMER_TYPE_SUPPORTS_MAX_RECORDINGS; static const unsigned int TIMER_CHILD_ATTRIBUTES = PVR_TIMER_TYPE_SUPPORTS_START_TIME | PVR_TIMER_TYPE_SUPPORTS_END_TIME | PVR_TIMER_TYPE_FORBIDS_NEW_INSTANCES; /* Timer types definition.*/ static std::vector< std::unique_ptr< TimerType > > timerTypes; if (timerTypes.size() == 0) { timerTypes.push_back( /* One-shot manual (time and channel based) */ std::unique_ptr(new TimerType( /* Type id. */ TIMER_ONCE_MANUAL, /* Attributes. */ TIMER_MANUAL_ATTRIBS, /* Description. */ XBMC->GetLocalizedString(30131), // "One time (manual)", /* Values definitions for attributes. */ priorityValues, _defaultPriority, lifetimeValues, _defaultLiftetime, recordingLimitValues, _defaultLimit, showTypeValues, _defaultShowType))); timerTypes.push_back( /* One-shot epg based */ std::unique_ptr(new TimerType( /* Type id. */ TIMER_ONCE_EPG, /* Attributes. */ TIMER_EPG_ATTRIBS, /* Description. */ XBMC->GetLocalizedString(30132), // "One time (guide)", /* Values definitions for attributes. */ priorityValues, _defaultPriority, lifetimeValues, _defaultLiftetime, recordingLimitValues, _defaultLimit, showTypeValues, _defaultShowType))); timerTypes.push_back( /* One shot Keyword based */ std::unique_ptr(new TimerType( /* Type id. */ TIMER_ONCE_KEYWORD, /* Attributes. */ TIMER_KEYWORD_ATTRIBS, /* Description. */ XBMC->GetLocalizedString(30133), // "One time (wishlist)" /* Values definitions for attributes. */ priorityValues, _defaultPriority, lifetimeValues, _defaultLiftetime, recordingLimitValues, _defaultLimit, showTypeValues, _defaultShowType))); timerTypes.push_back( /* Read-only one-shot for timers generated by timerec */ std::unique_ptr(new TimerType( /* Type id. */ TIMER_ONCE_MANUAL_CHILD, /* Attributes. */ TIMER_MANUAL_ATTRIBS | TIMER_CHILD_ATTRIBUTES, /* Description. */ XBMC->GetLocalizedString(30130), // "Created by Repeating Timer" /* Values definitions for attributes. */ priorityValues, _defaultPriority, lifetimeValues, _defaultLiftetime, recordingLimitValues, _defaultLimit, showTypeValues, _defaultShowType))); timerTypes.push_back( /* Read-only one-shot for timers generated by autorec */ std::unique_ptr(new TimerType( /* Type id. */ TIMER_ONCE_EPG_CHILD, /* Attributes. */ TIMER_EPG_ATTRIBS | TIMER_CHILD_ATTRIBUTES, /* Description. */ XBMC->GetLocalizedString(30130), // "Created by Repeating Timer" /* Values definitions for attributes. */ priorityValues, _defaultPriority, lifetimeValues, _defaultLiftetime, recordingLimitValues, _defaultLimit, showTypeValues, _defaultShowType))); timerTypes.push_back( /* One shot Keyword based */ std::unique_ptr(new TimerType( /* Type id. */ TIMER_ONCE_KEYWORD_CHILD, /* Attributes. */ TIMER_KEYWORD_ATTRIBS | TIMER_CHILD_ATTRIBUTES, /* Description. */ XBMC->GetLocalizedString(30130), // "Created by Repeating Timer" /* Values definitions for attributes. */ priorityValues, _defaultPriority, lifetimeValues, _defaultLiftetime, recordingLimitValues, _defaultLimit, showTypeValues, _defaultShowType))); timerTypes.push_back( /* Repeating manual (time and channel based) Parent */ std::unique_ptr(new TimerType( /* Type id. */ TIMER_REPEATING_MANUAL, /* Attributes. */ TIMER_MANUAL_ATTRIBS | TIMER_REPEATING_MANUAL_ATTRIBS, /* Description. */ XBMC->GetLocalizedString(30134), // "Repeating (manual)" /* Values definitions for attributes. */ priorityValues, _defaultPriority, lifetimeValues, _defaultLiftetime, recordingLimitValues, _defaultLimit, showTypeValues, _defaultShowType))); timerTypes.push_back( /* Repeating epg based Parent*/ std::unique_ptr(new TimerType( /* Type id. */ TIMER_REPEATING_EPG, /* Attributes. */ TIMER_EPG_ATTRIBS | TIMER_REPEATING_EPG_ATTRIBS, /* Description. */ XBMC->GetLocalizedString(30135), // "Repeating (guide)" /* Values definitions for attributes. */ priorityValues, _defaultPriority, lifetimeValues, _defaultLiftetime, recordingLimitValues, _defaultLimit, showTypeValues, _defaultShowType))); timerTypes.push_back( /* Repeating Keyword (Generic) based */ std::unique_ptr(new TimerType( /* Type id. */ TIMER_REPEATING_KEYWORD, /* Attributes. */ TIMER_KEYWORD_ATTRIBS | TIMER_REPEATING_KEYWORD_ATTRIBS, /* Description. */ XBMC->GetLocalizedString(30136), // "Repeating (wishlist)" /* Values definitions for attributes. */ priorityValues, _defaultPriority, lifetimeValues, _defaultLiftetime, recordingLimitValues, _defaultLimit, showTypeValues, _defaultShowType))); } /* Copy data to target array. */ int i = 0; for (auto it = timerTypes.begin(); it != timerTypes.end(); ++it, ++i) types[i] = **it; *size = timerTypes.size(); return PVR_ERROR_NO_ERROR; } PVR_ERROR Pvr2Wmc::GetDriveSpace(long long *iTotal, long long *iUsed) { *iTotal = _diskTotal; *iUsed = _diskUsed; return PVR_ERROR_NO_ERROR; } int Pvr2Wmc::GetChannelsAmount(void) { if (IsServerDown()) return PVR_ERROR_SERVER_ERROR; return _socketClient.GetInt("GetChannelCount", true); } // test for returned error vector from server, handle accompanying messages if any bool isServerError(vector results) { if (results[0] == "error") { if (results.size() > 1 && results[1].length() != 0) { XBMC->Log(LOG_ERROR, results[1].c_str()); // log more info on error } if (results.size() > 2 != 0) { int errorID = atoi(results[2].c_str()); if (errorID != 0) { std::string errStr = XBMC->GetLocalizedString(errorID); XBMC->QueueNotification(QUEUE_ERROR, errStr.c_str()); } } return true; } else return false; } // look at result vector from server and perform any updates requested void Pvr2Wmc::TriggerUpdates(vector results) { FOREACH(response, results) { vector v = split(*response, "|"); // split to unpack string if (v.size() < 1) { XBMC->Log(LOG_DEBUG, "Wrong number of fields xfered for Triggers/Message"); return; } if (v[0] == "updateTimers") PVR->TriggerTimerUpdate(); else if (v[0] == "updateRecordings") PVR->TriggerRecordingUpdate(); else if (v[0] == "updateChannels") PVR->TriggerChannelUpdate(); else if (v[0] == "updateChannelGroups") PVR->TriggerChannelGroupsUpdate(); else if (v[0] == "updateEPGForChannel") { if (v.size() > 1) { unsigned int channelUid = strtoul(v[1].c_str(), 0, 10); PVR->TriggerEpgUpdate(channelUid); } } else if (v[0] == "message") { if (v.size() < 4) { XBMC->Log(LOG_DEBUG, "Wrong number of fields xfered for Message"); return; } XBMC->Log(LOG_INFO, "Received message from backend: %s", response->c_str()); std::string infoStr; // Get notification level int level = atoi(v[1].c_str()); if (level < QUEUE_INFO) { level = QUEUE_INFO; } else if (level > QUEUE_ERROR) { level = QUEUE_ERROR; } // Get localised string for this stringID int stringId = atoi(v[2].c_str()); infoStr = XBMC->GetLocalizedString(stringId); // Use text from backend if stringID not found if (infoStr == "") { infoStr = v[3]; } // Send XBMC Notification (support up to 4 parameter replaced arguments from the backend) if (v.size() == 4) { XBMC->QueueNotification((ADDON::queue_msg)level, infoStr.c_str()); } else if (v.size() == 5) { XBMC->QueueNotification((ADDON::queue_msg)level, infoStr.c_str(), v[4].c_str()); } else if (v.size() == 6) { XBMC->QueueNotification((ADDON::queue_msg)level, infoStr.c_str(), v[4].c_str(), v[5].c_str()); } else if (v.size() == 7) { XBMC->QueueNotification((ADDON::queue_msg)level, infoStr.c_str(), v[4].c_str(), v[5].c_str(), v[6].c_str()); } else { XBMC->QueueNotification((ADDON::queue_msg)level, infoStr.c_str(), v[4].c_str(), v[5].c_str(), v[6].c_str(), v[7].c_str()); } } } } void Pvr2Wmc::ExtractDriveSpace(vector results) { FOREACH(response, results) { vector v = split(*response, "|"); // split to unpack string if (v.size() < 1) { continue; } if (v[0] == "driveSpace") { if (v.size() > 1) { long long totalSpace = strtoll(v[1].c_str(), 0, 10); long long freeSpace = strtoll(v[2].c_str(), 0, 10); long long usedSpace = strtoll(v[3].c_str(), 0, 10); _diskTotal = totalSpace / 1024; _diskUsed = usedSpace / 1024; } } } } // xbmc call: get all channels for either tv or radio PVR_ERROR Pvr2Wmc::GetChannels(ADDON_HANDLE handle, bool bRadio) { if (IsServerDown()) return PVR_ERROR_SERVER_ERROR; std::string request; request = string_format("GetChannels|%s", bRadio ? "True" : "False"); vector results = _socketClient.GetVector(request, true); FOREACH(response, results) { PVR_CHANNEL xChannel; memset(&xChannel, 0, sizeof(PVR_CHANNEL)); // set all mem to zero vector v = StringUtils::Split(*response, "|"); // packing: id, bradio, c.OriginalNumber, c.CallSign, c.IsEncrypted, imageStr, c.IsBlocked if (v.size() < 9) { XBMC->Log(LOG_DEBUG, "Wrong number of fields xfered for channel data"); continue; } // Populate Channel (and optionally subchannel if one was provided) vector c = split(v[7], "."); if (c.size() > 1) { xChannel.iChannelNumber = atoi(c[0].c_str()); xChannel.iSubChannelNumber = atoi(c[1].c_str()); } else { xChannel.iChannelNumber = atoi(v[2].c_str()); } xChannel.iUniqueId = strtoul(v[0].c_str(), 0, 10); // convert to unsigned int xChannel.bIsRadio = Str2Bool(v[1]); STRCPY(xChannel.strChannelName, v[3].c_str()); xChannel.iEncryptionSystem = Str2Bool(v[4]); if (v[5].compare("NULL") != 0) // if icon path is not null STRCPY(xChannel.strIconPath, v[5].c_str()); xChannel.bIsHidden = Str2Bool(v[6]); PVR->TransferChannelEntry(handle, &xChannel); } return PVR_ERROR_NO_ERROR; } int Pvr2Wmc::GetChannelGroupsAmount(void) { if (IsServerDown()) return PVR_ERROR_SERVER_ERROR; return _socketClient.GetInt("GetChannelGroupCount", true); } PVR_ERROR Pvr2Wmc::GetChannelGroups(ADDON_HANDLE handle, bool bRadio) { if (IsServerDown()) return PVR_ERROR_SERVER_ERROR; std::string request; request = string_format("GetChannelGroups|%s", bRadio ? "True" : "False"); vector results = _socketClient.GetVector(request, true); FOREACH(response, results) { PVR_CHANNEL_GROUP xGroup; memset(&xGroup, 0, sizeof(PVR_CHANNEL_GROUP)); vector v = split(*response, "|"); if (v.size() < 1) { XBMC->Log(LOG_DEBUG, "Wrong number of fields xfered for channel group data"); continue; } xGroup.bIsRadio = bRadio; strncpy(xGroup.strGroupName, v[0].c_str(), sizeof(xGroup.strGroupName) - 1); // PVR API 1.9.6 adds Position field if (v.size() >= 2) { xGroup.iPosition = atoi(v[1].c_str()); } PVR->TransferChannelGroup(handle, &xGroup); } return PVR_ERROR_NO_ERROR; } PVR_ERROR Pvr2Wmc::GetChannelGroupMembers(ADDON_HANDLE handle, const PVR_CHANNEL_GROUP &group) { if (IsServerDown()) return PVR_ERROR_SERVER_ERROR; std::string request; request = string_format("GetChannelGroupMembers|%s|%s", group.bIsRadio ? "True" : "False", group.strGroupName); vector results = _socketClient.GetVector(request, true); FOREACH(response, results) { PVR_CHANNEL_GROUP_MEMBER xGroupMember; memset(&xGroupMember, 0, sizeof(PVR_CHANNEL_GROUP_MEMBER)); vector v = split(*response, "|"); if (v.size() < 2) { XBMC->Log(LOG_DEBUG, "Wrong number of fields xfered for channel group member data"); continue; } strncpy(xGroupMember.strGroupName, group.strGroupName, sizeof(xGroupMember.strGroupName) - 1); xGroupMember.iChannelUniqueId = strtoul(v[0].c_str(), 0, 10); // convert to unsigned int xGroupMember.iChannelNumber = atoi(v[1].c_str()); PVR->TransferChannelGroupMember(handle, &xGroupMember); } return PVR_ERROR_NO_ERROR; } PVR_ERROR Pvr2Wmc::GetEPGForChannel(ADDON_HANDLE handle, const PVR_CHANNEL &channel, time_t iStart, time_t iEnd) { if (IsServerDown()) return PVR_ERROR_SERVER_ERROR; std::string request; request = string_format("GetEntries|%u|%lld|%lld", channel.iUniqueId, (long long)iStart, (long long)iEnd); // build the request string vector results = _socketClient.GetVector(request, true); // get entries from server FOREACH(response, results) { EPG_TAG xEpg; memset(&xEpg, 0, sizeof(EPG_TAG)); // set all mem to zero vector v = split(*response, "|"); // split to unpack string if (v.size() < 16) { XBMC->Log(LOG_DEBUG, "Wrong number of fields xfered for epg data"); continue; } // e.Id, e.Program.Title, c.OriginalNumber, start_t, end_t, // e.Program.ShortDescription, e.Program.Description, // origAirDate, e.TVRating, e.Program.StarRating, // e.Program.SeasonNumber, e.Program.EpisodeNumber, // e.Program.EpisodeTitle // (MB3 fields) channelID, audioFormat, GenreString, ProgramType // actors, directors, writers, year, movieID xEpg.iUniqueChannelId = channel.iUniqueId; // assign unique channel ID xEpg.iUniqueBroadcastId = atoi(v[0].c_str()); // entry ID xEpg.strTitle = v[1].c_str(); // entry title xEpg.startTime = atol(v[3].c_str()); // start time xEpg.endTime = atol(v[4].c_str()); // end time xEpg.strPlotOutline = v[5].c_str(); // short plot description (currently using episode name, if there is one) xEpg.strPlot = v[6].c_str(); // long plot description xEpg.firstAired = atol(v[7].c_str()); // orig air date xEpg.iParentalRating = atoi(v[8].c_str()); // tv rating xEpg.iStarRating = atoi(v[9].c_str()); // star rating xEpg.iSeriesNumber = atoi(v[10].c_str()); // season (?) number xEpg.iEpisodeNumber = atoi(v[11].c_str()); // episode number xEpg.iGenreType = atoi(v[12].c_str()); // season (?) number xEpg.iGenreSubType = atoi(v[13].c_str()); // general genre type xEpg.strIconPath = v[14].c_str(); // the icon url xEpg.strEpisodeName = v[15].c_str(); // the episode name xEpg.strGenreDescription = ""; // Kodi PVR API 1.9.6 adds new EPG fields if (v.size() >= 25) { xEpg.strCast = v[20].c_str(); xEpg.strDirector = v[21].c_str(); xEpg.strWriter = v[22].c_str(); xEpg.iYear = atoi(v[23].c_str()); xEpg.strIMDBNumber = v[24].c_str(); } // Kodi PVR API 4.1.0 adds new EPG iFlags field if (v.size() >= 26) { if (Str2Bool(v[25].c_str())) { xEpg.iFlags |= EPG_TAG_FLAG_IS_SERIES; } } PVR->TransferEpgEntry(handle, &xEpg); } return PVR_ERROR_NO_ERROR; } // timer functions ------------------------------------------------------------- int Pvr2Wmc::GetTimersAmount(void) { if (IsServerDown()) return PVR_ERROR_SERVER_ERROR; return _socketClient.GetInt("GetTimerCount", true); } PVR_ERROR Pvr2Wmc::AddTimer(const PVR_TIMER &xTmr) { if (IsServerDown()) return PVR_ERROR_SERVER_ERROR; // Send request to ServerWMC std::string command = ""; command = "SetTimerKodi" + Timer2String(xTmr); // convert timer to string vector results = _socketClient.GetVector(command, false); // get results from server PVR->TriggerTimerUpdate(); // update timers regardless of whether there is an error if (isServerError(results)) { return PVR_ERROR_SERVER_ERROR; } else { XBMC->Log(LOG_DEBUG, "recording added for timer '%s', with rec state %s", xTmr.strTitle, results[0].c_str()); if (results.size() > 1) // if there is extra results sent from server... { FOREACH(result, results) { vector splitResult = split(*result, "|"); // split to unpack extra info on each result std::string infoStr; if (splitResult[0] == "recordingNow") // recording is active now { XBMC->Log(LOG_DEBUG, "timer recording is in progress"); } else if (splitResult[0] == "recordingNowTimedOut") // swmc timed out waiting for the recording to start { XBMC->Log(LOG_DEBUG, "server timed out waiting for in-progress recording to start"); } else if (splitResult[0] == "recordingChannel") // service picked a different channel for timer { XBMC->Log(LOG_DEBUG, "timer channel changed by wmc to '%s'", splitResult[1].c_str()); // build info string and notify user of channel change infoStr = XBMC->GetLocalizedString(30009) + splitResult[1]; XBMC->QueueNotification(QUEUE_WARNING, infoStr.c_str()); } else if (splitResult[0] == "recordingTime") // service picked a different start time for timer { XBMC->Log(LOG_DEBUG, "timer start time changed by wmc to '%s'", splitResult[1].c_str()); // build info string and notify user of time change infoStr = XBMC->GetLocalizedString(30010) + splitResult[1]; XBMC->QueueNotification(QUEUE_WARNING, infoStr.c_str()); } else if (splitResult[0] == "increasedEndTime") // end time has been increased on an instant record { XBMC->Log(LOG_DEBUG, "instant record end time increased by '%s' minutes", splitResult[1].c_str()); // build info string and notify user of time increase infoStr = XBMC->GetLocalizedString(30013) + splitResult[1] + " min"; XBMC->QueueNotification(QUEUE_INFO, infoStr.c_str()); } } } return PVR_ERROR_NO_ERROR; } } std::string Pvr2Wmc::Timer2String(const PVR_TIMER &xTmr) { std::string tStr; bool bRepeating = xTmr.iTimerType >= TIMER_REPEATING_MIN && xTmr.iTimerType <= TIMER_REPEATING_MAX; bool bKeyword = xTmr.iTimerType == TIMER_REPEATING_KEYWORD || xTmr.iTimerType == TIMER_ONCE_KEYWORD || xTmr.iTimerType == TIMER_ONCE_KEYWORD_CHILD; bool bManual = xTmr.iTimerType == TIMER_ONCE_MANUAL || xTmr.iTimerType == TIMER_ONCE_MANUAL_CHILD || xTmr.iTimerType == TIMER_REPEATING_MANUAL; //was ("|%d|%d|%d|%d|%d|%s|%d|%d|%d|%d|%d", tStr = string_format("|%u|%d|%lld|%lld|%d|%s|%d|%u|%u|%d|%u", xTmr.iClientIndex, xTmr.iClientChannelUid, (long long)xTmr.startTime, (long long)xTmr.endTime, PVR_TIMER_STATE_NEW, // 0-4 xTmr.strTitle, xTmr.iPriority, xTmr.iMarginStart, xTmr.iMarginEnd, bRepeating, // 5-9 xTmr.iEpgUid); // 10 // Append extra fields from Kodi 16 std::string extra; //was ("|%d|%d|%d|%d|%d|%d|%s|%d|%d", extra = string_format("|%u|%d|%u|%d|%d|%d|%s|%d|%d", xTmr.iPreventDuplicateEpisodes, xTmr.bStartAnyTime, xTmr.iWeekdays, // 11-13 param xTmr.iLifetime, bKeyword, xTmr.bFullTextEpgSearch, xTmr.strEpgSearchString, xTmr.iMaxRecordings, bManual); // 14-19 tStr.append(extra); return tStr; } PVR_ERROR Pvr2Wmc::DeleteTimer(const PVR_TIMER &xTmr, bool bForceDelete) { if (IsServerDown()) return PVR_ERROR_SERVER_ERROR; bool bRepeating = xTmr.iTimerType >= TIMER_REPEATING_MIN && xTmr.iTimerType <= TIMER_REPEATING_MAX; std::string command = "DeleteTimerKodi"; command = string_format("DeleteTimerKodi|%u|%d", xTmr.iClientIndex, bRepeating); vector results = _socketClient.GetVector(command, false); // get results from server PVR->TriggerTimerUpdate(); // update timers regardless of whether there is an error if (isServerError(results)) // did the server do it? { return PVR_ERROR_SERVER_ERROR; } else { XBMC->Log(LOG_DEBUG, "deleted timer '%s', with rec state %s", xTmr.strTitle, results[0].c_str()); return PVR_ERROR_NO_ERROR; } } PVR_ERROR Pvr2Wmc::GetTimers(ADDON_HANDLE handle) { if (IsServerDown()) return PVR_ERROR_SERVER_ERROR; vector responsesSeries = _socketClient.GetVector("GetSeriesTimers", true); FOREACH(response, responsesSeries) { PVR_TIMER xTmr; memset(&xTmr, 0, sizeof(PVR_TIMER)); // set all struct to zero vector v = split(*response, "|"); // split to unpack string if (v.size() < 24) { XBMC->Log(LOG_DEBUG, "Wrong number of fields xfered for SeriesTimer data"); continue; } xTmr.iTimerType = PVR_TIMER_TYPE_NONE; // [0] Timer ID (need UINT32 value, see [21]) // [1] Title (superceded by [17] Timer Name) xTmr.iClientChannelUid = atoi(v[2].c_str()); // [2] channel id xTmr.iEpgUid = atoi(v[3].c_str()); // [3] epg ID (same as client ID, except for a 'manual' record) STRCPY(xTmr.strSummary, v[4].c_str()); // [4] currently set to description xTmr.startTime = atoi(v[5].c_str()); // [5] start time xTmr.endTime = atoi(v[6].c_str()); // [6] end time xTmr.iMarginStart = atoi(v[7].c_str()); // [7] rec margin at start (sec) xTmr.iMarginEnd = atoi(v[8].c_str()); // [8] rec margin at end (sec) // [9] isPreMarginRequired // [10] isPostMarginRequired // [11] WMC Priority (need Kodi compatible value, see [26]) // [12] NewEpisodesOnly (superceded by RunType) if (Str2Bool(v[13].c_str())) // [13] Any Channel { xTmr.iClientChannelUid = 0; } if (Str2Bool(v[14].c_str())) // [14] Any Time { xTmr.bStartAnyTime = true; xTmr.bEndAnyTime = true; } xTmr.iWeekdays = atoi(v[15].c_str()); // [15] DaysOfWeek (converted to Kodi values in the backend) xTmr.state = (PVR_TIMER_STATE)atoi(v[16].c_str()); // [16] current state of timer STRCPY(xTmr.strTitle, v[17].c_str()); // [17] timer name xTmr.iGenreType = atoi(v[18].c_str()); // [18] genre ID xTmr.iGenreSubType = atoi(v[19].c_str()); // [19] sub genre ID xTmr.iPreventDuplicateEpisodes = atoi(v[20].c_str()); // [20] WMC RunType xTmr.iClientIndex = atoi(v[21].c_str()); // [21] Timer ID (in UINT32 form) STRCPY(xTmr.strEpgSearchString, v[22].c_str()); // [22] Keyword Search xTmr.bFullTextEpgSearch = Str2Bool(v[23].c_str()); // [23] Keyword is FullText xTmr.iLifetime = atoi(v[24].c_str()); // [24] Lifetime xTmr.iMaxRecordings = atoi(v[25].c_str()); // [25] Maximum Recordings (Recording Limit) xTmr.iPriority = atoi(v[26].c_str()); // [26] Priority (in Kodi enum value form) // Determine TimerType bool hasKeyword = strlen(xTmr.strEpgSearchString) > 0; bool hasEPG = (xTmr.iEpgUid != PVR_TIMER_NO_EPG_UID); xTmr.iTimerType = hasKeyword ? TIMER_REPEATING_KEYWORD : hasEPG ? TIMER_REPEATING_EPG : TIMER_REPEATING_MANUAL; PVR->TransferTimerEntry(handle, &xTmr); } vector responsesTimers = _socketClient.GetVector("GetTimers", true); FOREACH(response, responsesTimers) { PVR_TIMER xTmr; memset(&xTmr, 0, sizeof(PVR_TIMER)); // set all struct to zero vector v = split(*response, "|"); // split to unpack string // eId, chId, start_t, end_t, pState, // rp.Program.Title, ""/*recdir*/, rp.Program.EpisodeTitle/*summary?*/, rp.Priority, rp.Request.IsRecurring, // eId, preMargin, postMargin, genre, subgenre if (v.size() < 24) { XBMC->Log(LOG_DEBUG, "Wrong number of fields xfered for timer data"); continue; } xTmr.iTimerType = PVR_TIMER_TYPE_NONE; xTmr.iClientIndex = atoi(v[0].c_str()); // [0] Timer ID xTmr.iClientChannelUid = atoi(v[1].c_str()); // [1] channel id xTmr.startTime = atoi(v[2].c_str()); // [2] start time xTmr.endTime = atoi(v[3].c_str()); // [3] end time xTmr.state = (PVR_TIMER_STATE)atoi(v[4].c_str()); // [4] current state of time STRCPY(xTmr.strTitle, v[5].c_str()); // [5] timer name (set to same as Program title) STRCPY(xTmr.strDirectory, v[6].c_str()); // [6] rec directory STRCPY(xTmr.strSummary, v[7].c_str()); // [7] set to program description // [8] WMC Priority (need Kodi compatible value, see [26]) // [9] IsRecurring xTmr.iEpgUid = atoi(v[10].c_str()); // [10] epg ID xTmr.iMarginStart = atoi(v[11].c_str()); // [11] rec margin at start (sec) xTmr.iMarginEnd = atoi(v[12].c_str()); // [12] rec margin at end (sec) xTmr.iGenreType = atoi(v[13].c_str()); // [13] genre ID xTmr.iGenreSubType = atoi(v[14].c_str()); // [14] sub genre ID // [15] epg ID (duplicated from [9] for some reason) // [16] Parent Series ID (need in UINT32 form, see [23]) // [17] isPreMarginRequired // [18] isPostMarginRequired xTmr.iPreventDuplicateEpisodes = atoi(v[19].c_str()); // [19] WMC runType if (Str2Bool(v[20].c_str())) // [20] Any Channel { // As this is a child instance recording, we want to preserve the actual channel } if (Str2Bool(v[21].c_str())) // [21] Any Time { // As this is a child instance recording, we want to preserve the actual start/finish times } xTmr.iWeekdays = atoi(v[22].c_str()); // [22] DaysOfWeek (converted to Kodi values in the backend) xTmr.iParentClientIndex = atoi(v[23].c_str()); // [23] Parent Series ID (in UINT32 form) xTmr.iLifetime = atoi(v[24].c_str()); // [24] Lifetime xTmr.iMaxRecordings = atoi(v[25].c_str()); // [25] Maximum Recordings (Recording Limit) xTmr.iPriority = atoi(v[26].c_str()); // [26] Priority (in Kodi enum value form) STRCPY(xTmr.strEpgSearchString, v[27].c_str()); // [27] Keyword Search xTmr.bFullTextEpgSearch = Str2Bool(v[28].c_str()); // [28] Keyword is FullText // Determine TimerType bool hasParent = (xTmr.iParentClientIndex != 0); bool hasKeyword = strlen(xTmr.strEpgSearchString) > 0; bool hasEPG = (xTmr.iEpgUid != PVR_TIMER_NO_EPG_UID); if (hasParent) { xTmr.iTimerType = hasKeyword ? TIMER_ONCE_KEYWORD_CHILD : hasEPG ? TIMER_ONCE_EPG_CHILD : TIMER_ONCE_MANUAL_CHILD; } else { xTmr.iTimerType = hasKeyword ? TIMER_ONCE_KEYWORD : hasEPG ? TIMER_ONCE_EPG : TIMER_ONCE_MANUAL; } PVR->TransferTimerEntry(handle, &xTmr); } // check time since last time Recordings were updated, update if it has been awhile if ( _lastRecordingUpdateTime != 0 && P8PLATFORM::GetTimeMs() > _lastRecordingUpdateTime + 120000) { PVR->TriggerRecordingUpdate(); } return PVR_ERROR_NO_ERROR; } // recording functions ------------------------------------------------------------------------ int Pvr2Wmc::GetRecordingsAmount(void) { if (IsServerDown()) return PVR_ERROR_SERVER_ERROR; return _socketClient.GetInt("GetRecordingsAmount", true); } // recording file functions PVR_ERROR Pvr2Wmc::GetRecordings(ADDON_HANDLE handle) { if (IsServerDown()) return PVR_ERROR_SERVER_ERROR; vector responses = _socketClient.GetVector("GetRecordings", true); FOREACH(response, responses) { PVR_RECORDING xRec; memset(&xRec, 0, sizeof(PVR_RECORDING)); // set all struct to zero vector v = split(*response, "|"); // split to unpack string // r.Id, r.Program.Title, r.FileName, recDir, plotOutline, // plot, r.Channel.CallSign, ""/*icon path*/, ""/*thumbnail path*/, ToTime_t(r.RecordingTime), // duration, r.RequestedProgram.Priority, r.KeepLength.ToString(), genre, subgenre, ResumePos // fields 16 - 23 used by MB3, 24 PlayCount if (v.size() < 16) { XBMC->Log(LOG_DEBUG, "Wrong number of fields xfered for recording data"); continue; } STRCPY(xRec.strRecordingId, v[0].c_str()); STRCPY(xRec.strTitle, v[1].c_str()); STRCPY(xRec.strDirectory, v[3].c_str()); STRCPY(xRec.strPlotOutline, v[4].c_str()); STRCPY(xRec.strPlot, v[5].c_str()); STRCPY(xRec.strChannelName, v[6].c_str()); STRCPY(xRec.strIconPath, v[7].c_str()); STRCPY(xRec.strThumbnailPath, v[8].c_str()); xRec.recordingTime = atol(v[9].c_str()); xRec.iDuration = atoi(v[10].c_str()); xRec.iPriority = atoi(v[11].c_str()); xRec.iLifetime = atoi(v[12].c_str()); xRec.iGenreType = atoi(v[13].c_str()); xRec.iGenreSubType = atoi(v[14].c_str()); if (g_bEnableMultiResume) { xRec.iLastPlayedPosition = atoi(v[15].c_str()); if (v.size() > 24) { xRec.iPlayCount = atoi(v[24].c_str()); } } // Kodi PVR API 1.9.5 adds EPG ID field if (v.size() > 19) { xRec.iEpgEventId = atoi(v[18].c_str()); } // Kodi PVR API 5.0.0 adds EPG ID field if (v.size() > 18) { xRec.iChannelUid = atoi(v[17].c_str()); } else { xRec.iChannelUid = PVR_CHANNEL_INVALID_UID; } /* TODO: PVR API 5.1.0: Implement this */ xRec.channelType = PVR_RECORDING_CHANNEL_TYPE_UNKNOWN; PVR->TransferRecordingEntry(handle, &xRec); } _lastRecordingUpdateTime = P8PLATFORM::GetTimeMs(); return PVR_ERROR_NO_ERROR; } PVR_ERROR Pvr2Wmc::DeleteRecording(const PVR_RECORDING &recording) { if (IsServerDown()) return PVR_ERROR_SERVER_ERROR; std::string command; command = string_format("DeleteRecording|%s|%s|%s", recording.strRecordingId, recording.strTitle, ""); vector results = _socketClient.GetVector(command, false); // get results from server if (isServerError(results)) // did the server do it? { return PVR_ERROR_NO_ERROR; // report "no error" so our error shows up } else { TriggerUpdates(results); //PVR->TriggerRecordingUpdate(); // tell xbmc to update recording display XBMC->Log(LOG_DEBUG, "deleted recording '%s'", recording.strTitle); //if (results.size() == 2 && results[0] == "updateTimers") // if deleted recording was actually recording a the time // PVR->TriggerTimerUpdate(); // update timer display too return PVR_ERROR_NO_ERROR; } } PVR_ERROR Pvr2Wmc::RenameRecording(const PVR_RECORDING &recording) { if (IsServerDown()) return PVR_ERROR_SERVER_ERROR; std::string command;// = format("RenameRecording|%s|%s", recording.strRecordingId, recording.strTitle); command = string_format("RenameRecording|%s|%s", recording.strRecordingId, recording.strTitle); vector results = _socketClient.GetVector(command, false); // get results from server if (isServerError(results)) // did the server do it? { return PVR_ERROR_NO_ERROR; // report "no error" so our error shows up } else { TriggerUpdates(results); XBMC->Log(LOG_DEBUG, "deleted recording '%s'", recording.strTitle); return PVR_ERROR_NO_ERROR; } } // set the recording resume position in the wmc database PVR_ERROR Pvr2Wmc::SetRecordingLastPlayedPosition(const PVR_RECORDING &recording, int lastplayedposition) { if (IsServerDown()) return PVR_ERROR_SERVER_ERROR; std::string command; command = string_format("SetResumePosition|%s|%d", recording.strRecordingId, lastplayedposition); vector results = _socketClient.GetVector(command, true); PVR->TriggerRecordingUpdate(); // this is needed to get the new resume point actually used by the player (xbmc bug) return PVR_ERROR_NO_ERROR; } // get the rercording resume position from the wmc database // note: although this resume point time will be displayed to the user in the gui (in the resume dlog) // the return value is ignored by the xbmc player. That's why TriggerRecordingUpdate is required in the setting above int Pvr2Wmc::GetRecordingLastPlayedPosition(const PVR_RECORDING &recording) { if (IsServerDown()) return PVR_ERROR_SERVER_ERROR; std::string command; command = string_format("GetResumePosition|%s", recording.strRecordingId); int pos = _socketClient.GetInt(command, true); return pos; } // set the recording playcount in the wmc database PVR_ERROR Pvr2Wmc::SetRecordingPlayCount(const PVR_RECORDING &recording, int count) { if (IsServerDown()) return PVR_ERROR_SERVER_ERROR; std::string command; command = string_format("SetPlayCount|%s|%d", recording.strRecordingId, count); vector results = _socketClient.GetVector(command, true); if (count <= 0) PVR->TriggerRecordingUpdate(); // this is needed to get the new play count actually used by the player (xbmc bug) return PVR_ERROR_NO_ERROR; } std::string Pvr2Wmc::Channel2String(const PVR_CHANNEL &xCh) { // packing: id, bradio, c.OriginalNumber, c.CallSign, c.IsEncrypted, imageStr, c.IsBlocked std::string chStr; chStr = string_format("|%u|%d|%u|%s", xCh.iUniqueId, xCh.bIsRadio, xCh.iChannelNumber, xCh.strChannelName); return chStr; } // live/recorded stream functions -------------------------------------------------------------- bool Pvr2Wmc::OpenLiveStream(const PVR_CHANNEL &channel) { if (IsServerDown()) return false; _lostStream = true; // init _readCnt = 0; _buffTimesCnt = 0; _buffTimeFILTER = 0; CloseLiveStream(false); // close current stream (if any) std::string request = "OpenLiveStream" + Channel2String(channel); // request a live stream using channel vector results = _socketClient.GetVector(request, false); // try to open live stream, get path to stream file if (isServerError(results)) // test if server reported an error { return false; } else { _streamFileName = results[0]; // get path of streamed file _streamWTV = EndsWith(results[0], "wtv"); // true if stream file is a wtv file if (results.size() > 1) XBMC->Log(LOG_DEBUG, "OpenLiveStream> opening stream: %s", results[1].c_str()); // log password safe path of client if available else XBMC->Log(LOG_DEBUG, "OpenLiveStream> opening stream: %s", _streamFileName.c_str()); // Initialise variables for starting stream at an offset _initialStreamResetCnt = 0; _initialStreamPosition = 0; // Check for a specified initial position and save it for the first ReadLiveStream command to use if (results.size() > 2) { _initialStreamPosition = atoll(results[2].c_str()); } _streamFile = XBMC->OpenFile(_streamFileName.c_str(), 0); // open the video file for streaming, same handle if (!_streamFile) // something went wrong { std::string lastError; #ifdef TARGET_WINDOWS int errorVal = GetLastError(); lastError = string_format("Error opening stream file, Win32 error code: %d", errorVal); #else lastError = "Error opening stream file"; #endif XBMC->Log(LOG_ERROR, lastError.c_str()); // log more info on error _socketClient.GetBool("StreamStartError|" + _streamFileName, true); // tell server stream did not start return false; } else { _discardSignalStatus = false; // reset signal status discard flag XBMC->Log(LOG_DEBUG, "OpenLiveStream> stream file opened successfully"); } _lostStream = false; // if we got to here, stream started ok, so set default values _lastStreamSize = 0; _isStreamFileGrowing = true; return true; // stream is up } } // read from the live stream file opened in OpenLiveStream int Pvr2Wmc::ReadLiveStream(unsigned char *pBuffer, unsigned int iBufferSize) { if (_lostStream) // if stream has already been flagged as lost, return 0 bytes return 0; // after this happens a few time, xbmc will call CloseLiveStream _readCnt++; // keep a count of the number of reads executed if (!_streamWTV) // if NOT streaming wtv, make sure stream is big enough before it is read { int timeout = 0; // reset timeout counter // If we are trying to skip to an initial start position (eg we are watching an existing live stream // in a multiple client scenario), we need to do it here, as the Seek command didnt work in OpenLiveStream, // XBMC just started playing from the start of the file anyway. But once the stream is open, XBMC repeatedly // calls ReadLiveStream and a Seek() command done here DOES get actioned. // // So the first time we come in here, we can Seek() to our desired start offset. // // However I found the XBMC demuxer makes an initial pass first and then sets the position back to 0 again and makes a 2nd pass, // So we actually need to Seek() to our initial start position more than once. Because there are other situations where we can end up // at the start of the file (such as the user rewinding) the easiest option at this point is to simply assume the demuxer makes 2 passes, // and to reset the Seek position twice before clearing the stored value and thus no longer performing the reset. // Seek to initial file position if OpenLiveStream stored a starting offset and we are at position 0 (start of the file) if (_initialStreamPosition > 0 && PositionLiveStream() == 0) { long long newPosition = XBMC->SeekFile(_streamFile, _initialStreamPosition, SEEK_SET); if (newPosition == _initialStreamPosition) { XBMC->Log(LOG_DEBUG, "ReadLiveStream> stream file seek to initial position %llu successful", _initialStreamPosition); } else { XBMC->Log(LOG_DEBUG, "ReadLiveStream> stream file seek to initial position %llu failed (new position: %llu)", _initialStreamPosition, newPosition); } _initialStreamResetCnt++; if (_initialStreamResetCnt >= 2) { _initialStreamPosition = 0; // reset stored value to 0 once we have performed 2 resets (2 pass demuxer) } } long long currentPos = PositionLiveStream(); // get the current file position long long fileSize = _lastStreamSize; // use the last fileSize found, rather than querying host if (_isStreamFileGrowing && currentPos + iBufferSize > fileSize) // if its not big enough for the readsize fileSize = ActualFileSize(timeout); // get the current size of the stream file // if the stream file is growing, see if the stream file is big enough to accomodate this read // if its not, wait until it is while (_isStreamFileGrowing && currentPos + iBufferSize > fileSize) { usleep(600000); // wait a little (600ms) before we try again timeout++; fileSize = ActualFileSize(timeout); // get new file size after delay if (!_isStreamFileGrowing) // if streamfile is no longer growing... { if (CheckErrorOnServer()) // see if server says there is an error { _lostStream = true; // if an error was posted, close the stream down return -1; } else break; // terminate loop since stream file isn't growing no sense in waiting } else if (fileSize == -1) // if fileSize -1, server is reporting an 'unkown' error with the stream { XBMC->QueueNotification(QUEUE_ERROR, XBMC->GetLocalizedString(30003)); // display generic error with stream XBMC->Log(LOG_DEBUG, "live tv error, server reported error"); _lostStream = true; // flag that stream is down return -1; } if (timeout > 50 ) // if after 30 sec the file has not grown big enough, timeout { _lostStream = true; // flag that stream is down if (currentPos == 0 && fileSize == 0) // if no data was ever read, assume no video signal { XBMC->QueueNotification(QUEUE_ERROR, XBMC->GetLocalizedString(30004)); XBMC->Log(LOG_DEBUG, "no video found for stream"); } else // a mysterious reason caused timeout { XBMC->QueueNotification(QUEUE_ERROR, XBMC->GetLocalizedString(30003)); // otherwise display generic error XBMC->Log(LOG_DEBUG, "live tv timed out, unknown reason"); } return -1; // this makes xbmc call closelivestream } } } // !_streamWTV // finally, read data from stream file unsigned int lpNumberOfBytesRead = XBMC->ReadFile(_streamFile, pBuffer, iBufferSize); return lpNumberOfBytesRead; } // see if server posted an error for this client // if server has not posted an error, return False bool Pvr2Wmc::CheckErrorOnServer() { if (!IsServerDown()) { std::string request; request = "CheckError"; vector results = _socketClient.GetVector(request, true); // see if server posted an error for active stream return isServerError(results); } return false; } //#define SEEK_SET 0 //#define SEEK_CUR 1 //#define SEEK_END 2 long long Pvr2Wmc::SeekLiveStream(long long iPosition, int iWhence /* = SEEK_SET */) { int64_t lFilePos = 0; if (_streamFile != 0) { lFilePos = XBMC->SeekFile(_streamFile, iPosition, iWhence); } return lFilePos; } // return the current file pointer position long long Pvr2Wmc::PositionLiveStream(void) { int64_t lFilePos = -1; if (_streamFile != 0) { lFilePos = XBMC->GetFilePosition(_streamFile); } return lFilePos; } // get stream file size, querying it from server if needed long long Pvr2Wmc::ActualFileSize(int count) { long long lFileSize = 0; if (_lostStream) // if stream was lost, return 0 file size (may not be needed) return 0; if (!_isStreamFileGrowing) // if stream file is no longer growing, return the last stream size { lFileSize = _lastStreamSize; } else { std::string request; request = string_format("StreamFileSize|%d", count); // request stream size form client, passing number of consecutive queries lFileSize = _socketClient.GetLL(request, true); // get file size form client if (lFileSize < -1) // if server returns a negative file size, it means the stream file is no longer growing (-1 => error) { lFileSize = -lFileSize; // make stream file length positive _isStreamFileGrowing = false; // flag that stream file is no longer growing } _lastStreamSize = lFileSize; // save this stream size } return lFileSize; } // return the length of the current stream file long long Pvr2Wmc::LengthLiveStream(void) { if (_lastStreamSize > 0) return _lastStreamSize; return -1; } void Pvr2Wmc::PauseStream(bool bPaused) { } bool Pvr2Wmc::CloseLiveStream(bool notifyServer /*=true*/) { if (IsServerDown()) return false; if (_streamFile != 0) // if file is still open, close it XBMC->CloseFile(_streamFile); _streamFile = 0; // file handle now closed _streamFileName = ""; _lostStream = true; // for cleanliness if (notifyServer) { return _socketClient.GetBool("CloseLiveStream", false); // tell server to close down stream } else return true; } bool Pvr2Wmc::OpenRecordedStream(const PVR_RECORDING &recording) { if (IsServerDown()) return false; _lostStream = true; // init _readCnt = 0; _buffTimesCnt = 0; _buffTimeFILTER = 0; // request an active recording stream std::string request; request = string_format("OpenRecordingStream|%s", recording.strRecordingId); vector results = _socketClient.GetVector(request, false); // try to open recording stream, get path to stream file if (isServerError(results)) // test if server reported an error { return false; } else { _streamFileName = results[0]; _streamWTV = EndsWith(_streamFileName, "wtv"); // true if stream file is a wtv file // handle additional args from server if (results.size() > 1) XBMC->Log(LOG_DEBUG, "OpenRecordedStream> rec stream type: %s", results[1].c_str()); // either a 'passive' or 'active' WTV OR a TS file if (results.size() > 2) XBMC->Log(LOG_DEBUG, "OpenRecordedStream> opening stream: %s", results[2].c_str()); // log password safe path of client if available else XBMC->Log(LOG_DEBUG, "OpenRecordedStream> opening stream: %s", _streamFileName.c_str()); _streamFile = XBMC->OpenFile(_streamFileName.c_str(), 0); // open the video file for streaming, same handle if (!_streamFile) // something went wrong { std::string lastError; #ifdef TARGET_WINDOWS int errorVal = GetLastError(); lastError = string_format("Error opening stream file, Win32 error code: %d", errorVal); #else lastError = "Error opening stream file"; #endif XBMC->Log(LOG_ERROR, lastError.c_str()); // log more info on error _socketClient.GetBool("StreamStartError|" + _streamFileName, true); // tell server stream did not start return false; } else XBMC->Log(LOG_DEBUG, "OpenRecordedStream> stream file opened successfully"); _lostStream = false; // stream is open _lastStreamSize = 0; // current size is empty _isStreamFileGrowing = true; // initially assume its growing ActualFileSize(0); // get initial file size from swmc, also tells it file was opened successfully // Initialise variables for starting stream at an offset (only used for live streams) _initialStreamResetCnt = 0; _initialStreamPosition = 0; return true; // if we got to here, stream started ok } } PVR_ERROR Pvr2Wmc::SignalStatus(PVR_SIGNAL_STATUS &signalStatus) { if (!g_bSignalEnable || _discardSignalStatus) { return PVR_ERROR_NO_ERROR; } static PVR_SIGNAL_STATUS cachedSignalStatus; // Only send request to backend every N times if (_signalStatusCount-- <= 0) { if (IsServerDown()) return PVR_ERROR_SERVER_ERROR; // Reset count to throttle value _signalStatusCount = g_signalThrottle; std::string command; command = "SignalStatus"; vector results = _socketClient.GetVector(command, true); // get results from server // strDeviceName, strDeviceStatus, strProvider, strService, strMux // iSignal, dVideoBitrate, dAudioBitrate, Error if (isServerError(results)) // did the server do it? { return PVR_ERROR_SERVER_ERROR; // report "no error" so our error shows up } else { if (results.size() >= 9) { memset(&cachedSignalStatus, 0, sizeof(cachedSignalStatus)); snprintf(cachedSignalStatus.strAdapterName, sizeof(cachedSignalStatus.strAdapterName), "%s", results[0].c_str()); snprintf(cachedSignalStatus.strAdapterStatus, sizeof(cachedSignalStatus.strAdapterStatus), "%s", results[1].c_str()); snprintf(cachedSignalStatus.strProviderName, sizeof(cachedSignalStatus.strProviderName), "%s", results[2].c_str()); snprintf(cachedSignalStatus.strServiceName, sizeof(cachedSignalStatus.strServiceName), "%s", results[3].c_str()); snprintf(cachedSignalStatus.strMuxName, sizeof(cachedSignalStatus.strMuxName), "%s", results[4].c_str()); cachedSignalStatus.iSignal = (int)(atoi(results[5].c_str()) * 655.35); bool error = atoi(results[8].c_str()) == 1; if (error) { // Backend indicates it can't provide SignalStatus for this channel // Set flag to discard further attempts until a channel change _discardSignalStatus = true; } } } } signalStatus = cachedSignalStatus; return PVR_ERROR_NO_ERROR; } bool Pvr2Wmc::IsTimeShifting() { if (_streamFile) return true; else return false; } // save the last pos of buffer pointers so that we can filter how often swmc is quered for buff data time_t _savBuffStart; int64_t _savBuffEnd; PVR_ERROR Pvr2Wmc::GetStreamTimes(PVR_STREAM_TIMES *strTimes) { if (_streamFile) { if (_buffTimesCnt >= _buffTimeFILTER) // filter queries to slow down queries to swmc { _buffTimesCnt = 0; vector results = _socketClient.GetVector("GetBufferTimes", false); // get buffer status if (results.size() < 3) { return PVR_ERROR_SERVER_ERROR; } strTimes->startTime = atoll(results[0].c_str()); // get time_t utc of when stream was started strTimes->ptsStart = 0; // relative to the above time, time when the stream starts (?) strTimes->ptsBegin = 0; // how far back the buffer data goes, which is always stream start for swmc strTimes->ptsEnd = atoll(results[1].c_str()) * DVD_TIME_BASE; // get the current length of the live buffer or recording duration (uSec) _savBuffStart = strTimes->startTime; // save values last found to filter queries _savBuffEnd = strTimes->ptsEnd; _buffTimeFILTER = atol(results[2].c_str()); // get filter value from swmc } else { // if filtering, used saved values strTimes->startTime = _savBuffStart; strTimes->ptsStart = 0; strTimes->ptsBegin = 0; strTimes->ptsEnd = _savBuffEnd; _buffTimesCnt++; // increment how many times saved values were used } return PVR_ERROR_NO_ERROR; } return PVR_ERROR_SERVER_ERROR; } PVR_ERROR Pvr2Wmc::GetRecordingEdl(const PVR_RECORDING &recording, PVR_EDL_ENTRY entries[], int *size) { if (_streamFileName != "") // read the edl for the current stream file { // see if edl file for currently streaming recording exists std::string theEdlFile = _streamFileName; // swap .wtv extension for .edl std::string::size_type result = theEdlFile.find_last_of('.'); if (std::string::npos != result) theEdlFile.erase(result); else { XBMC->Log(LOG_DEBUG, "File extender error: '%s'", theEdlFile.c_str()); return PVR_ERROR_FAILED; } theEdlFile.append(".edl"); XBMC->Log(LOG_DEBUG, "Opening EDL file: '%s'", theEdlFile.c_str()); void* fileHandle = XBMC->OpenFile(theEdlFile.c_str(), 0); if (fileHandle) { int index = 0; char buffer[256]; while (XBMC->ReadFileString(fileHandle, buffer, 1024)) { std::string svals(buffer); svals = StringUtils::TrimRight(svals, "\r"); // trim windows /r if its there vector vals = split(svals, "\t"); // split on tabs if (vals.size() == 3) { PVR_EDL_ENTRY entry; entry.start = std::strtod(vals[0].c_str(), null) * 1000; // convert s to ms entry.end = std::strtod(vals[1].c_str(), null) * 1000; entry.type = (PVR_EDL_TYPE)atoi(vals[2].c_str()); entries[index] = entry; index++; } } if (index > 0) XBMC->Log(LOG_DEBUG, "EDL data found."); else XBMC->Log(LOG_DEBUG, "No EDL data found."); *size = index; XBMC->CloseFile(fileHandle); return PVR_ERROR_NO_ERROR; } else XBMC->Log(LOG_DEBUG, "No EDL file found."); } return PVR_ERROR_FAILED; } pvr.wmc-2.4.5-Leia/src/pvr2wmc.h000066400000000000000000000136251354134156400163430ustar00rootroot00000000000000/* * Copyright (C) 2005-2015 Team XBMC * http://xbmc.org * * This Program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * This Program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with XBMC; see the file COPYING. If not, see * . * */ #pragma once #include #include "client.h" #include "Socket.h" /* timer type ids */ #define TIMER_MANUAL_MIN (PVR_TIMER_TYPE_NONE + 1) #define TIMER_ONCE_MANUAL (TIMER_MANUAL_MIN + 0) #define TIMER_ONCE_EPG (TIMER_MANUAL_MIN + 1) #define TIMER_ONCE_KEYWORD (TIMER_MANUAL_MIN + 2) #define TIMER_ONCE_MANUAL_CHILD (TIMER_MANUAL_MIN + 3) #define TIMER_ONCE_EPG_CHILD (TIMER_MANUAL_MIN + 4) #define TIMER_ONCE_KEYWORD_CHILD (TIMER_MANUAL_MIN + 5) #define TIMER_MANUAL_MAX (TIMER_MANUAL_MIN + 5) #define TIMER_REPEATING_MIN (TIMER_MANUAL_MAX + 1) #define TIMER_REPEATING_MANUAL (TIMER_REPEATING_MIN + 0) #define TIMER_REPEATING_EPG (TIMER_REPEATING_MIN + 1) #define TIMER_REPEATING_KEYWORD (TIMER_REPEATING_MIN + 2) #define TIMER_REPEATING_MAX (TIMER_REPEATING_MIN + 2) typedef enum { WMC_PRIORITY_NORMAL = 0, WMC_PRIORITY_HIGH = 1, WMC_PRIORITY_LOW = 2 } wmc_priority_t; typedef enum { WMC_SHOWTYPE_ANY = 0, WMC_SHOWTYPE_FIRSTRUNONLY = 1, WMC_SHOWTYPE_LIVEONLY = 2 } wmc_showtype_t; typedef enum { WMC_LIFETIME_NOTSET = -4, WMC_LIFETIME_LATEST = -3, WMC_LIFETIME_WATCHED = -2, WMC_LIFETIME_ELIGIBLE = -1, WMC_LIFETIME_DELETED = 0, WMC_LIFETIME_ONEWEEK = 7 } wmc_lifetime_t; typedef enum { WMC_LIMIT_ASMANY = -1, WMC_LIMIT_1 = 1, WMC_LIMIT_2 = 2, WMC_LIMIT_3 = 3, WMC_LIMIT_4 = 4, WMC_LIMIT_5 = 5, WMC_LIMIT_6 = 6, WMC_LIMIT_7 = 7, WMC_LIMIT_10 = 10 } wmc_recordinglimit_t; class Pvr2Wmc { public: Pvr2Wmc(void); virtual ~Pvr2Wmc(void); virtual bool IsServerDown(); virtual void UnLoading(); const char *GetBackendVersion(void); PVR_ERROR GetTimerTypes ( PVR_TIMER_TYPE types[], int *size ); virtual PVR_ERROR GetDriveSpace(long long *iTotal, long long *iUsed); // channels virtual int GetChannelsAmount(void); virtual PVR_ERROR GetChannels(ADDON_HANDLE handle, bool bRadio); virtual int GetChannelGroupsAmount(void); virtual PVR_ERROR GetChannelGroups(ADDON_HANDLE handle, bool bRadio); virtual PVR_ERROR GetChannelGroupMembers(ADDON_HANDLE handle, const PVR_CHANNEL_GROUP &group); // epg virtual PVR_ERROR GetEPGForChannel(ADDON_HANDLE handle, const PVR_CHANNEL &channel, time_t iStart, time_t iEnd); // timers virtual PVR_ERROR GetTimers(ADDON_HANDLE handle); virtual PVR_ERROR AddTimer(const PVR_TIMER &timer); virtual PVR_ERROR DeleteTimer(const PVR_TIMER &timer, bool bForceDelete); virtual int GetTimersAmount(void); // recording files virtual PVR_ERROR GetRecordings(ADDON_HANDLE handle); PVR_ERROR DeleteRecording(const PVR_RECORDING &recording); PVR_ERROR RenameRecording(const PVR_RECORDING &recording); PVR_ERROR SetRecordingLastPlayedPosition(const PVR_RECORDING &recording, int lastplayedposition); int GetRecordingLastPlayedPosition(const PVR_RECORDING &recording); PVR_ERROR SetRecordingPlayCount(const PVR_RECORDING &recording, int count); // recording streams bool OpenRecordedStream(const PVR_RECORDING &recording); virtual int GetRecordingsAmount(void); void UpdateRecordingTimer(int msec); // live tv bool OpenLiveStream(const PVR_CHANNEL &channel); bool CloseLiveStream(bool notifyServer = true); int ReadLiveStream(unsigned char *pBuffer, unsigned int iBufferSize); void PauseStream(bool bPaused); long long SeekLiveStream(long long iPosition, int iWhence /* = SEEK_SET */) ; long long PositionLiveStream(void) ; bool SwitchChannel(const PVR_CHANNEL &channel); long long LengthLiveStream(void); long long ActualFileSize(int count); PVR_ERROR SignalStatus(PVR_SIGNAL_STATUS &signalStatus); // time shifting bool IsTimeShifting(); PVR_ERROR GetStreamTimes(PVR_STREAM_TIMES*); // comm skip PVR_ERROR GetRecordingEdl(const PVR_RECORDING&, PVR_EDL_ENTRY[], int*); bool CheckErrorOnServer(); void TriggerUpdates(std::vector results); void ExtractDriveSpace(std::vector results); private: int _serverBuild; std::string Timer2String(const PVR_TIMER &xTmr); std::string SeriesTimer2String(const PVR_TIMER &xTmr); std::string Channel2String(const PVR_CHANNEL &xTmr); Socket _socketClient; long long _diskTotal; long long _diskUsed; int _signalStatusCount; // call backend for signal status every N calls (because XBMC calls every 1 second!) bool _discardSignalStatus; // flag to discard signal status for channels where the backend had an error void* _streamFile; // handle to a streamed file std::string _streamFileName; // the name of the stream file bool _lostStream; // set to true if stream is lost bool _streamWTV; // if true, stream wtv files long long _lastStreamSize; // last value found for file stream bool _isStreamFileGrowing; // true if server reports that a live/rec stream is still growing long long _readCnt; // keep a count of the number of reads executed during playback int _initialStreamResetCnt; // used to count how many times we reset the stream position (due to 2 pass demuxer) long long _initialStreamPosition; // used to set an initial position (multiple clients watching the same live tv buffer) bool _insertDurationHeader; // if true, insert a duration header for active Rec TS file std::string _durationHeader; // the header to insert (received from server) int _defaultPriority; int _defaultLiftetime; int _defaultLimit; int _defaultShowType; }; pvr.wmc-2.4.5-Leia/src/utilities.cpp000066400000000000000000000051511354134156400173040ustar00rootroot00000000000000/* * Copyright (C) 2005-2015 Team XBMC * http://xbmc.org * * This Program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * This Program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with XBMC; see the file COPYING. If not, see * . * */ #include "util/XMLUtils.h" #include "utilities.h" #include "client.h" #include #include #include using namespace ADDON; // format related string functions taken from: // http://www.flipcode.com/archives/Safe_sprintf.shtml bool Str2Bool(const std::string& str) { return str.compare("True") == 0 ? true:false; } bool EndsWith(std::string const &fullString, std::string const &ending) { if (fullString.length() >= ending.length()) { return (0 == fullString.compare (fullString.length() - ending.length(), ending.length(), ending)); } else { return false; } } bool StartsWith(std::string const &fullString, std::string const &starting) { if (fullString.length() >= starting.length()) { return (0 == fullString.compare(0, starting.length(), starting)); } else { return false; } } // return the directory from the input file path std::string GetDirectoryPath(std::string const &path) { size_t found = path.find_last_of("/\\"); if (found != std::string::npos) return path.substr(0, found); else return path; } bool ReadFileContents(std::string const &strFileName, std::string &strContent) { void* fileHandle = XBMC->OpenFile(strFileName.c_str(), 0); if (fileHandle) { char buffer[1024]; while (XBMC->ReadFileString(fileHandle, buffer, 1024)) strContent.append(buffer); XBMC->CloseFile(fileHandle); return true; } return false; } bool WriteFileContents(std::string const &strFileName, std::string &strContent) { void* fileHandle = XBMC->OpenFileForWrite(strFileName.c_str(), true); if (fileHandle) { int rc = XBMC->WriteFile(fileHandle, strContent.c_str(), strContent.length()); if (rc) { XBMC->Log(LOG_DEBUG, "wrote file %s", strFileName.c_str()); } else { XBMC->Log(LOG_ERROR, "can not write to %s", strFileName.c_str()); } XBMC->CloseFile(fileHandle); return rc >= 0; } return false; }pvr.wmc-2.4.5-Leia/src/utilities.h000066400000000000000000000024201354134156400167450ustar00rootroot00000000000000/* * Copyright (C) 2005-2015 Team XBMC * http://xbmc.org * * This Program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * This Program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with XBMC; see the file COPYING. If not, see * . * */ #pragma once #include #include #include "stdio.h" //std::vector split(const std::string& s, const std::string& delim); bool Str2Bool(const std::string& str); bool EndsWith(std::string const &fullString, std::string const &ending); bool StartsWith(std::string const &fullString, std::string const &starting); std::string GetDirectoryPath(std::string const &path); bool ReadFileContents(std::string const &strFileName, std::string &strResult); bool WriteFileContents(std::string const &strFileName, std::string &strContent);