├── debian ├── compat ├── source │ └── format ├── kodi-pvr-stalker.install ├── changelog.in ├── control ├── rules └── copyright ├── depends └── common │ ├── libxml2 │ ├── deps.txt │ ├── libxml2.txt │ └── win32_io.patch │ ├── zlib │ └── zlib.txt │ └── jsoncpp │ ├── jsoncpp.txt │ └── CMakeLists.txt ├── pvr.stalker ├── icon.png ├── resources │ └── language │ │ ├── resource.language.mi │ │ └── strings.po │ │ ├── resource.language.ja_jp │ │ └── strings.po │ │ ├── resource.language.th_th │ │ └── strings.po │ │ ├── resource.language.az_az │ │ └── strings.po │ │ ├── resource.language.fa_af │ │ └── strings.po │ │ ├── resource.language.hi_in │ │ └── strings.po │ │ ├── resource.language.ta_in │ │ └── strings.po │ │ ├── resource.language.eu_es │ │ └── strings.po │ │ ├── resource.language.mn_mn │ │ └── strings.po │ │ ├── resource.language.my_mm │ │ └── strings.po │ │ ├── resource.language.si_lk │ │ └── strings.po │ │ ├── resource.language.tg_tj │ │ └── strings.po │ │ ├── resource.language.en_au │ │ └── strings.po │ │ ├── resource.language.mk_mk │ │ └── strings.po │ │ ├── resource.language.cy_gb │ │ └── strings.po │ │ ├── resource.language.szl │ │ └── strings.po │ │ ├── resource.language.be_by │ │ └── strings.po │ │ ├── resource.language.sq_al │ │ └── strings.po │ │ ├── resource.language.uk_ua │ │ └── strings.po │ │ ├── resource.language.ar_sa │ │ └── strings.po │ │ ├── resource.language.et_ee │ │ └── strings.po │ │ ├── resource.language.es_ar │ │ └── strings.po │ │ ├── resource.language.fa_ir │ │ └── strings.po │ │ ├── resource.language.zh_tw │ │ └── strings.po │ │ ├── resource.language.vi_vn │ │ └── strings.po │ │ ├── resource.language.mt_mt │ │ └── strings.po │ │ ├── resource.language.lv_lv │ │ └── strings.po │ │ ├── resource.language.am_et │ │ └── strings.po │ │ ├── resource.language.bg_bg │ │ └── strings.po │ │ ├── resource.language.tr_tr │ │ └── strings.po │ │ ├── resource.language.da_dk │ │ └── strings.po │ │ ├── resource.language.id_id │ │ └── strings.po │ │ ├── resource.language.es_mx │ │ └── strings.po │ │ ├── resource.language.ca_es │ │ └── strings.po │ │ ├── resource.language.sl_si │ │ └── strings.po │ │ ├── resource.language.is_is │ │ └── strings.po │ │ ├── resource.language.el_gr │ │ └── strings.po │ │ ├── resource.language.zh_cn │ │ └── strings.po │ │ ├── resource.language.ko_kr │ │ └── strings.po │ │ ├── resource.language.en_gb │ │ └── strings.po │ │ ├── resource.language.he_il │ │ └── strings.po │ │ ├── resource.language.en_nz │ │ └── strings.po │ │ ├── resource.language.en_us │ │ └── strings.po │ │ ├── resource.language.af_za │ │ └── strings.po │ │ ├── resource.language.nb_no │ │ └── strings.po │ │ ├── resource.language.sv_se │ │ └── strings.po │ │ ├── resource.language.ms_my │ │ └── strings.po │ │ ├── resource.language.nl_nl │ │ └── strings.po │ │ ├── resource.language.it_it │ │ └── strings.po │ │ ├── resource.language.cs_cz │ │ └── strings.po │ │ ├── resource.language.fi_fi │ │ └── strings.po │ │ ├── resource.language.gl_es │ │ └── strings.po │ │ ├── resource.language.pt_br │ │ └── strings.po │ │ └── resource.language.de_de │ │ └── strings.po └── changelog.txt ├── FindJsonCpp.cmake ├── .gitignore ├── lib └── libstalkerclient │ ├── CMakeLists.txt │ ├── util.c │ ├── util.h │ ├── identity.c │ ├── action.h │ ├── watchdog.h │ ├── identity.h │ ├── stb.h │ ├── itv.h │ ├── list.h │ ├── param.h │ ├── request.h │ ├── watchdog.c │ ├── xmltv.h │ ├── list.c │ └── itv.c ├── README.md ├── .travis.yml ├── src ├── client.h ├── Error.h ├── base │ ├── GuideManager.h │ ├── Cache.h │ ├── ChannelManager.h │ └── Cache.cpp ├── CWatchdog.h ├── Utils.h ├── HTTPSocket.h ├── SAPI.h ├── GuideManager.h ├── SData.h ├── ChannelManager.h ├── CWatchdog.cpp ├── SessionManager.h ├── Settings.h └── Utils.cpp └── CMakeLists.txt /debian/compat: -------------------------------------------------------------------------------- 1 | 9 2 | -------------------------------------------------------------------------------- /debian/source/format: -------------------------------------------------------------------------------- 1 | 3.0 (native) 2 | -------------------------------------------------------------------------------- /depends/common/libxml2/deps.txt: -------------------------------------------------------------------------------- 1 | zlib 2 | -------------------------------------------------------------------------------- /depends/common/libxml2/libxml2.txt: -------------------------------------------------------------------------------- 1 | libxml2 http://xmlsoft.org/sources/libxml2-2.9.4.tar.gz 2 | -------------------------------------------------------------------------------- /depends/common/zlib/zlib.txt: -------------------------------------------------------------------------------- 1 | zlib http://mirrors.xbmc.org/build-deps/sources/zlib-1.2.7.tar.gz 2 | -------------------------------------------------------------------------------- /pvr.stalker/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kenji123/pvr.stalker/HEAD/pvr.stalker/icon.png -------------------------------------------------------------------------------- /depends/common/jsoncpp/jsoncpp.txt: -------------------------------------------------------------------------------- 1 | jsoncpp http://mirrors.kodi.tv/build-deps/sources/jsoncpp-src-0.5.0.tar.gz 2 | -------------------------------------------------------------------------------- /debian/kodi-pvr-stalker.install: -------------------------------------------------------------------------------- 1 | usr/lib/*/addons/pvr.stalker/pvr.stalker.so* usr/lib/kodi/addons/pvr.stalker 2 | usr/share/kodi/addons/pvr.stalker 3 | -------------------------------------------------------------------------------- /debian/changelog.in: -------------------------------------------------------------------------------- 1 | kodi-pvr-stalker (#PACKAGEVERSION#-#TAGREV#~#DIST#) #DIST#; urgency=low 2 | 3 | [ kodi ] 4 | * autogenerated dummy changelog 5 | 6 | -- Nobody Sat, 01 Jun 2013 00:59:22 +0200 7 | 8 | -------------------------------------------------------------------------------- /FindJsonCpp.cmake: -------------------------------------------------------------------------------- 1 | find_package(PkgConfig) 2 | if(PKG_CONFIG_FOUND) 3 | pkg_check_modules (JSONCPP jsoncpp) 4 | endif() 5 | 6 | if(NOT JSONCPP_FOUND) 7 | find_path(JSONCPP_INCLUDE_DIRS json/json.h 8 | PATH_SUFFIXES jsoncpp) 9 | find_library(JSONCPP_LIBRARIES jsoncpp) 10 | endif() 11 | 12 | include(FindPackageHandleStandardArgs) 13 | find_package_handle_standard_args(JsonCpp DEFAULT_MSG JSONCPP_LIBRARIES JSONCPP_INCLUDE_DIRS) 14 | 15 | mark_as_advanced(JSONCPP_INCLUDE_DIRS JSONCPP_LIBRARIES) 16 | -------------------------------------------------------------------------------- /depends/common/jsoncpp/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | project(jsoncpp) 2 | 3 | cmake_minimum_required(VERSION 2.6) 4 | enable_language(CXX) 5 | 6 | set(SOURCES src/lib_json/json_reader.cpp 7 | src/lib_json/json_value.cpp 8 | src/lib_json/json_writer.cpp) 9 | 10 | include_directories(${PROJECT_SOURCE_DIR}/include) 11 | 12 | add_library(jsoncpp ${SOURCES}) 13 | 14 | install(TARGETS jsoncpp DESTINATION ${CMAKE_INSTALL_PREFIX}/lib) 15 | install(DIRECTORY include/json DESTINATION ${CMAKE_INSTALL_PREFIX}/include/jsoncpp) 16 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # build artifacts 2 | build/ 3 | debian/changelog 4 | debian/files 5 | debian/kodi-pvr-stalker-dbg.debhelper.log 6 | debian/kodi-pvr-stalker-dbg.substvars 7 | debian/kodi-pvr-stalker-dbg/ 8 | debian/kodi-pvr-stalker.debhelper.log 9 | debian/kodi-pvr-stalker.postinst.debhelper 10 | debian/kodi-pvr-stalker.postrm.debhelper 11 | debian/kodi-pvr-stalker.substvars 12 | debian/kodi-pvr-stalker/ 13 | debian/tmp/ 14 | obj-x86_64-linux-gnu/ 15 | pvr.stalker/addon.xml 16 | 17 | # clion 18 | .idea/ 19 | 20 | # Eclipse/CDT 21 | .cproject 22 | .project 23 | .settings/ 24 | -------------------------------------------------------------------------------- /depends/common/libxml2/win32_io.patch: -------------------------------------------------------------------------------- 1 | --- /xmlIO.c 2015-11-03 07:36:33.000000000 -0500 2 | +++ /xmlIO_new.c 2016-03-20 21:32:59.960019300 -0400 3 | @@ -2319,7 +2319,7 @@ 4 | return; 5 | 6 | #if defined(_WIN32) || defined (__DJGPP__) && !defined (__CYGWIN__) 7 | - xmlInitPlatformSpecificIo(); 8 | +// xmlInitPlatformSpecificIo(); 9 | #endif 10 | 11 | xmlRegisterInputCallbacks(xmlFileMatch, xmlFileOpen, 12 | @@ -2357,7 +2357,7 @@ 13 | return; 14 | 15 | #if defined(_WIN32) || defined (__DJGPP__) && !defined (__CYGWIN__) 16 | - xmlInitPlatformSpecificIo(); 17 | +// xmlInitPlatformSpecificIo(); 18 | #endif 19 | 20 | xmlRegisterOutputCallbacks(xmlFileMatch, xmlFileOpenW, 21 | -------------------------------------------------------------------------------- /lib/libstalkerclient/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | project(stalkerclient) 2 | 3 | cmake_minimum_required(VERSION 2.6) 4 | 5 | enable_language(C) 6 | 7 | find_package(ZLIB REQUIRED) 8 | find_package(LibXml2 REQUIRED) 9 | 10 | include_directories(${LIBXML2_INCLUDE_DIR}) 11 | 12 | set(LIBSTALKER_SOURCES 13 | identity.c 14 | itv.c 15 | list.c 16 | param.c 17 | request.c 18 | stb.c 19 | util.c 20 | watchdog.c 21 | xmltv.c) 22 | 23 | add_library(stalkerclient STATIC ${LIBSTALKER_SOURCES}) 24 | target_link_libraries(stalkerclient ${ZLIB_LIBRARIES} ${LIBXML2_LIBRARIES}) 25 | 26 | if (NOT WIN32) 27 | set_target_properties(stalkerclient PROPERTIES COMPILE_FLAGS "-fPIC") 28 | endif () 29 | -------------------------------------------------------------------------------- /debian/control: -------------------------------------------------------------------------------- 1 | Source: kodi-pvr-stalker 2 | Priority: extra 3 | Maintainer: Nobody 4 | Build-Depends: debhelper (>= 9.0.0), cmake, kodi-pvr-dev, 5 | libkodiplatform-dev (>= 16.0.0), kodi-addon-dev, 6 | zlib1g-dev, libxml2-dev, libjsoncpp-dev 7 | Standards-Version: 3.9.4 8 | Section: libs 9 | 10 | Package: kodi-pvr-stalker 11 | Section: libs 12 | Architecture: any 13 | Depends: ${shlibs:Depends}, ${misc:Depends} 14 | Description: Stalker PVR for Kodi 15 | Stalker PVR for Kodi 16 | 17 | Package: kodi-pvr-stalker-dbg 18 | Section: libs 19 | Architecture: any 20 | Depends: ${shlibs:Depends}, ${misc:Depends} 21 | Description: debugging symbols for Stalker PVR for Kodi 22 | debugging symbols for Stalker PVR for Kodi 23 | 24 | -------------------------------------------------------------------------------- /debian/rules: -------------------------------------------------------------------------------- 1 | #!/usr/bin/make -f 2 | # -*- makefile -*- 3 | # Sample debian/rules that uses debhelper. 4 | # This file was originally written by Joey Hess and Craig Small. 5 | # As a special exception, when this file is copied by dh-make into a 6 | # dh-make output file, you may use that output file without restriction. 7 | # This special exception was added by Craig Small in version 0.37 of dh-make. 8 | 9 | # Uncomment this to turn on verbose mode. 10 | #export DH_VERBOSE=1 11 | 12 | %: 13 | dh $@ 14 | 15 | override_dh_auto_configure: 16 | dh_auto_configure -- -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=1 17 | 18 | override_dh_strip: 19 | dh_strip -pkodi-pvr-stalker --dbg-package=kodi-pvr-stalker-dbg 20 | 21 | override_dh_installdocs: 22 | dh_installdocs --link-doc=kodi-pvr-stalker 23 | -------------------------------------------------------------------------------- /pvr.stalker/resources/language/resource.language.mi/strings.po: -------------------------------------------------------------------------------- 1 | # Kodi Media Center language file 2 | # Addon Name: Stalker Client 3 | # Addon id: pvr.stalker 4 | # Addon Provider: Jamal Edey 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: KODI Main\n" 8 | "Report-Msgid-Bugs-To: http://trac.kodi.tv/\n" 9 | "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" 10 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 11 | "Last-Translator: Kodi Translation Team\n" 12 | "Language-Team: Maori (http://www.transifex.com/projects/p/kodi-main/language/mi/)\n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: 8bit\n" 16 | "Language: mi\n" 17 | "Plural-Forms: nplurals=2; plural=(n > 1);\n" 18 | 19 | msgctxt "#30119" 20 | msgid "Advanced" 21 | msgstr "Arā Atu Anō" 22 | -------------------------------------------------------------------------------- /pvr.stalker/resources/language/resource.language.ja_jp/strings.po: -------------------------------------------------------------------------------- 1 | # Kodi Media Center language file 2 | # Addon Name: Stalker Client 3 | # Addon id: pvr.stalker 4 | # Addon Provider: Jamal Edey 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: KODI Main\n" 8 | "Report-Msgid-Bugs-To: http://trac.kodi.tv/\n" 9 | "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" 10 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 11 | "Last-Translator: Kodi Translation Team\n" 12 | "Language-Team: Japanese (Japan) (http://www.transifex.com/projects/p/kodi-main/language/ja_JP/)\n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: 8bit\n" 16 | "Language: ja_JP\n" 17 | "Plural-Forms: nplurals=1; plural=0;\n" 18 | 19 | msgctxt "#30119" 20 | msgid "Advanced" 21 | msgstr "高度な設定" 22 | -------------------------------------------------------------------------------- /pvr.stalker/resources/language/resource.language.th_th/strings.po: -------------------------------------------------------------------------------- 1 | # Kodi Media Center language file 2 | # Addon Name: Stalker Client 3 | # Addon id: pvr.stalker 4 | # Addon Provider: Jamal Edey 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: KODI Main\n" 8 | "Report-Msgid-Bugs-To: http://trac.kodi.tv/\n" 9 | "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" 10 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 11 | "Last-Translator: Kodi Translation Team\n" 12 | "Language-Team: Thai (Thailand) (http://www.transifex.com/projects/p/kodi-main/language/th_TH/)\n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: 8bit\n" 16 | "Language: th_TH\n" 17 | "Plural-Forms: nplurals=1; plural=0;\n" 18 | 19 | msgctxt "#30119" 20 | msgid "Advanced" 21 | msgstr "ขั้นสูง" 22 | -------------------------------------------------------------------------------- /pvr.stalker/resources/language/resource.language.az_az/strings.po: -------------------------------------------------------------------------------- 1 | # Kodi Media Center language file 2 | # Addon Name: Stalker Client 3 | # Addon id: pvr.stalker 4 | # Addon Provider: Jamal Edey 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: KODI Main\n" 8 | "Report-Msgid-Bugs-To: http://trac.kodi.tv/\n" 9 | "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" 10 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 11 | "Last-Translator: Kodi Translation Team\n" 12 | "Language-Team: Azerbaijani (Azerbaijan) (http://www.transifex.com/projects/p/kodi-main/language/az_AZ/)\n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: 8bit\n" 16 | "Language: az_AZ\n" 17 | "Plural-Forms: nplurals=1; plural=0;\n" 18 | 19 | msgctxt "#30000" 20 | msgid "General" 21 | msgstr "Ümumi" 22 | -------------------------------------------------------------------------------- /pvr.stalker/resources/language/resource.language.fa_af/strings.po: -------------------------------------------------------------------------------- 1 | # Kodi Media Center language file 2 | # Addon Name: Stalker Client 3 | # Addon id: pvr.stalker 4 | # Addon Provider: Jamal Edey 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: KODI Main\n" 8 | "Report-Msgid-Bugs-To: http://trac.kodi.tv/\n" 9 | "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" 10 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 11 | "Last-Translator: Kodi Translation Team\n" 12 | "Language-Team: Persian (Afghanistan) (http://www.transifex.com/projects/p/kodi-main/language/fa_AF/)\n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: 8bit\n" 16 | "Language: fa_AF\n" 17 | "Plural-Forms: nplurals=1; plural=0;\n" 18 | 19 | msgctxt "#30119" 20 | msgid "Advanced" 21 | msgstr "پیشرفته" 22 | -------------------------------------------------------------------------------- /pvr.stalker/resources/language/resource.language.hi_in/strings.po: -------------------------------------------------------------------------------- 1 | # Kodi Media Center language file 2 | # Addon Name: Stalker Client 3 | # Addon id: pvr.stalker 4 | # Addon Provider: Jamal Edey 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: KODI Main\n" 8 | "Report-Msgid-Bugs-To: http://trac.kodi.tv/\n" 9 | "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" 10 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 11 | "Last-Translator: Kodi Translation Team\n" 12 | "Language-Team: Hindi (India) (http://www.transifex.com/projects/p/kodi-main/language/hi_IN/)\n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: 8bit\n" 16 | "Language: hi_IN\n" 17 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 18 | 19 | msgctxt "#30119" 20 | msgid "Advanced" 21 | msgstr "उन्नत" 22 | -------------------------------------------------------------------------------- /pvr.stalker/resources/language/resource.language.ta_in/strings.po: -------------------------------------------------------------------------------- 1 | # Kodi Media Center language file 2 | # Addon Name: Stalker Client 3 | # Addon id: pvr.stalker 4 | # Addon Provider: Jamal Edey 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: KODI Main\n" 8 | "Report-Msgid-Bugs-To: http://trac.kodi.tv/\n" 9 | "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" 10 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 11 | "Last-Translator: Kodi Translation Team\n" 12 | "Language-Team: Tamil (India) (http://www.transifex.com/projects/p/kodi-main/language/ta_IN/)\n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: 8bit\n" 16 | "Language: ta_IN\n" 17 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 18 | 19 | msgctxt "#30119" 20 | msgid "Advanced" 21 | msgstr "மேம்பட்ட" 22 | -------------------------------------------------------------------------------- /pvr.stalker/resources/language/resource.language.eu_es/strings.po: -------------------------------------------------------------------------------- 1 | # Kodi Media Center language file 2 | # Addon Name: Stalker Client 3 | # Addon id: pvr.stalker 4 | # Addon Provider: Jamal Edey 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: KODI Main\n" 8 | "Report-Msgid-Bugs-To: http://trac.kodi.tv/\n" 9 | "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" 10 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 11 | "Last-Translator: Kodi Translation Team\n" 12 | "Language-Team: Basque (Spain) (http://www.transifex.com/projects/p/kodi-main/language/eu_ES/)\n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: 8bit\n" 16 | "Language: eu_ES\n" 17 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 18 | 19 | msgctxt "#30119" 20 | msgid "Advanced" 21 | msgstr "Aurreratua" 22 | -------------------------------------------------------------------------------- /pvr.stalker/resources/language/resource.language.mn_mn/strings.po: -------------------------------------------------------------------------------- 1 | # Kodi Media Center language file 2 | # Addon Name: Stalker Client 3 | # Addon id: pvr.stalker 4 | # Addon Provider: Jamal Edey 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: KODI Main\n" 8 | "Report-Msgid-Bugs-To: http://trac.kodi.tv/\n" 9 | "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" 10 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 11 | "Last-Translator: Kodi Translation Team\n" 12 | "Language-Team: Mongolian (Mongolia) (http://www.transifex.com/projects/p/kodi-main/language/mn_MN/)\n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: 8bit\n" 16 | "Language: mn_MN\n" 17 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 18 | 19 | msgctxt "#30107" 20 | msgid "Guide" 21 | msgstr "Хөтөч" 22 | -------------------------------------------------------------------------------- /pvr.stalker/resources/language/resource.language.my_mm/strings.po: -------------------------------------------------------------------------------- 1 | # Kodi Media Center language file 2 | # Addon Name: Stalker Client 3 | # Addon id: pvr.stalker 4 | # Addon Provider: Jamal Edey 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: KODI Main\n" 8 | "Report-Msgid-Bugs-To: http://trac.kodi.tv/\n" 9 | "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" 10 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 11 | "Last-Translator: Kodi Translation Team\n" 12 | "Language-Team: Burmese (Myanmar) (http://www.transifex.com/projects/p/kodi-main/language/my_MM/)\n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: 8bit\n" 16 | "Language: my_MM\n" 17 | "Plural-Forms: nplurals=1; plural=0;\n" 18 | 19 | msgctxt "#30119" 20 | msgid "Advanced" 21 | msgstr "အဆင့်မြင့်သော" 22 | -------------------------------------------------------------------------------- /pvr.stalker/resources/language/resource.language.si_lk/strings.po: -------------------------------------------------------------------------------- 1 | # Kodi Media Center language file 2 | # Addon Name: Stalker Client 3 | # Addon id: pvr.stalker 4 | # Addon Provider: Jamal Edey 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: KODI Main\n" 8 | "Report-Msgid-Bugs-To: http://trac.kodi.tv/\n" 9 | "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" 10 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 11 | "Last-Translator: Kodi Translation Team\n" 12 | "Language-Team: Sinhala (Sri Lanka) (http://www.transifex.com/projects/p/kodi-main/language/si_LK/)\n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: 8bit\n" 16 | "Language: si_LK\n" 17 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 18 | 19 | msgctxt "#30119" 20 | msgid "Advanced" 21 | msgstr "උසස්" 22 | -------------------------------------------------------------------------------- /pvr.stalker/resources/language/resource.language.tg_tj/strings.po: -------------------------------------------------------------------------------- 1 | # Kodi Media Center language file 2 | # Addon Name: Stalker Client 3 | # Addon id: pvr.stalker 4 | # Addon Provider: Jamal Edey 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: KODI Main\n" 8 | "Report-Msgid-Bugs-To: http://trac.kodi.tv/\n" 9 | "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" 10 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 11 | "Last-Translator: Kodi Translation Team\n" 12 | "Language-Team: Tajik (Tajikistan) (http://www.transifex.com/projects/p/kodi-main/language/tg_TJ/)\n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: 8bit\n" 16 | "Language: tg_TJ\n" 17 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 18 | 19 | msgctxt "#30119" 20 | msgid "Advanced" 21 | msgstr "Иловагӣ" 22 | -------------------------------------------------------------------------------- /pvr.stalker/resources/language/resource.language.en_au/strings.po: -------------------------------------------------------------------------------- 1 | # Kodi Media Center language file 2 | # Addon Name: Stalker Client 3 | # Addon id: pvr.stalker 4 | # Addon Provider: Jamal Edey 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: KODI Main\n" 8 | "Report-Msgid-Bugs-To: http://trac.kodi.tv/\n" 9 | "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" 10 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 11 | "Last-Translator: Kodi Translation Team\n" 12 | "Language-Team: English (Australia) (http://www.transifex.com/projects/p/kodi-main/language/en_AU/)\n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: 8bit\n" 16 | "Language: en_AU\n" 17 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 18 | 19 | msgctxt "#30119" 20 | msgid "Advanced" 21 | msgstr "Advanced" 22 | -------------------------------------------------------------------------------- /pvr.stalker/resources/language/resource.language.mk_mk/strings.po: -------------------------------------------------------------------------------- 1 | # Kodi Media Center language file 2 | # Addon Name: Stalker Client 3 | # Addon id: pvr.stalker 4 | # Addon Provider: Jamal Edey 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: KODI Main\n" 8 | "Report-Msgid-Bugs-To: http://trac.kodi.tv/\n" 9 | "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" 10 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 11 | "Last-Translator: Kodi Translation Team\n" 12 | "Language-Team: Macedonian (Macedonia) (http://www.transifex.com/projects/p/kodi-main/language/mk_MK/)\n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: 8bit\n" 16 | "Language: mk_MK\n" 17 | "Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n" 18 | 19 | msgctxt "#30119" 20 | msgid "Advanced" 21 | msgstr "Напредно" 22 | -------------------------------------------------------------------------------- /pvr.stalker/resources/language/resource.language.cy_gb/strings.po: -------------------------------------------------------------------------------- 1 | # Kodi Media Center language file 2 | # Addon Name: Stalker Client 3 | # Addon id: pvr.stalker 4 | # Addon Provider: Jamal Edey 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: KODI Main\n" 8 | "Report-Msgid-Bugs-To: http://trac.kodi.tv/\n" 9 | "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" 10 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 11 | "Last-Translator: Kodi Translation Team\n" 12 | "Language-Team: Welsh (United Kingdom) (http://www.transifex.com/projects/p/kodi-main/language/cy_GB/)\n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: 8bit\n" 16 | "Language: cy_GB\n" 17 | "Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3;\n" 18 | 19 | msgctxt "#30119" 20 | msgid "Advanced" 21 | msgstr "Uwch" 22 | -------------------------------------------------------------------------------- /pvr.stalker/resources/language/resource.language.szl/strings.po: -------------------------------------------------------------------------------- 1 | # Kodi Media Center language file 2 | # Addon Name: Stalker Client 3 | # Addon id: pvr.stalker 4 | # Addon Provider: Jamal Edey 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: KODI Main\n" 8 | "Report-Msgid-Bugs-To: http://trac.kodi.tv/\n" 9 | "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" 10 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 11 | "Last-Translator: Kodi Translation Team\n" 12 | "Language-Team: Silesian (http://www.transifex.com/projects/p/kodi-main/language/szl/)\n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: 8bit\n" 16 | "Language: szl\n" 17 | "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" 18 | 19 | msgctxt "#30119" 20 | msgid "Advanced" 21 | msgstr "Zaawansowane" 22 | -------------------------------------------------------------------------------- /pvr.stalker/resources/language/resource.language.be_by/strings.po: -------------------------------------------------------------------------------- 1 | # Kodi Media Center language file 2 | # Addon Name: Stalker Client 3 | # Addon id: pvr.stalker 4 | # Addon Provider: Jamal Edey 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: KODI Main\n" 8 | "Report-Msgid-Bugs-To: http://trac.kodi.tv/\n" 9 | "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" 10 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 11 | "Last-Translator: Kodi Translation Team\n" 12 | "Language-Team: Belarusian (Belarus) (http://www.transifex.com/projects/p/kodi-main/language/be_BY/)\n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: 8bit\n" 16 | "Language: be_BY\n" 17 | "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" 18 | 19 | msgctxt "#30119" 20 | msgid "Advanced" 21 | msgstr "Advanced" 22 | -------------------------------------------------------------------------------- /pvr.stalker/resources/language/resource.language.sq_al/strings.po: -------------------------------------------------------------------------------- 1 | # Kodi Media Center language file 2 | # Addon Name: Stalker Client 3 | # Addon id: pvr.stalker 4 | # Addon Provider: Jamal Edey 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: KODI Main\n" 8 | "Report-Msgid-Bugs-To: http://trac.kodi.tv/\n" 9 | "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" 10 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 11 | "Last-Translator: Kodi Translation Team\n" 12 | "Language-Team: Albanian (Albania) (http://www.transifex.com/projects/p/kodi-main/language/sq_AL/)\n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: 8bit\n" 16 | "Language: sq_AL\n" 17 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 18 | 19 | msgctxt "#30106" 20 | msgid "Password" 21 | msgstr "Fjalëkalimi" 22 | 23 | msgctxt "#30119" 24 | msgid "Advanced" 25 | msgstr "Të shtuar" 26 | -------------------------------------------------------------------------------- /pvr.stalker/resources/language/resource.language.uk_ua/strings.po: -------------------------------------------------------------------------------- 1 | # Kodi Media Center language file 2 | # Addon Name: Stalker Client 3 | # Addon id: pvr.stalker 4 | # Addon Provider: Jamal Edey 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: KODI Main\n" 8 | "Report-Msgid-Bugs-To: http://trac.kodi.tv/\n" 9 | "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" 10 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 11 | "Last-Translator: Kodi Translation Team\n" 12 | "Language-Team: Ukrainian (Ukraine) (http://www.transifex.com/projects/p/kodi-main/language/uk_UA/)\n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: 8bit\n" 16 | "Language: uk_UA\n" 17 | "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" 18 | 19 | msgctxt "#30119" 20 | msgid "Advanced" 21 | msgstr "Додатково" 22 | -------------------------------------------------------------------------------- /pvr.stalker/resources/language/resource.language.ar_sa/strings.po: -------------------------------------------------------------------------------- 1 | # Kodi Media Center language file 2 | # Addon Name: Stalker Client 3 | # Addon id: pvr.stalker 4 | # Addon Provider: Jamal Edey 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: KODI Main\n" 8 | "Report-Msgid-Bugs-To: http://trac.kodi.tv/\n" 9 | "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" 10 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 11 | "Last-Translator: Kodi Translation Team\n" 12 | "Language-Team: Arabic (Saudi Arabia) (http://www.transifex.com/projects/p/kodi-main/language/ar_SA/)\n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: 8bit\n" 16 | "Language: ar_SA\n" 17 | "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" 18 | 19 | msgctxt "#30119" 20 | msgid "Advanced" 21 | msgstr "منقدم" 22 | -------------------------------------------------------------------------------- /pvr.stalker/resources/language/resource.language.et_ee/strings.po: -------------------------------------------------------------------------------- 1 | # Kodi Media Center language file 2 | # Addon Name: Stalker Client 3 | # Addon id: pvr.stalker 4 | # Addon Provider: Jamal Edey 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: KODI Main\n" 8 | "Report-Msgid-Bugs-To: http://trac.kodi.tv/\n" 9 | "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" 10 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 11 | "Last-Translator: Kodi Translation Team\n" 12 | "Language-Team: Estonian (Estonia) (http://www.transifex.com/projects/p/kodi-main/language/et_EE/)\n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: 8bit\n" 16 | "Language: et_EE\n" 17 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 18 | 19 | msgctxt "#30102" 20 | msgid "Server Address" 21 | msgstr "Serveri aadress" 22 | 23 | msgctxt "#30119" 24 | msgid "Advanced" 25 | msgstr "Edasijõudnud" 26 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | [![Build Status](https://travis-ci.org/kodi-pvr/pvr.stalker.svg?branch=master)](https://travis-ci.org/kodi-pvr/pvr.stalker) 2 | [![Coverity Scan Build Status](https://scan.coverity.com/projects/5120/badge.svg)](https://scan.coverity.com/projects/5120) 3 | 4 | # Stalker PVR 5 | Stalker Middleware PVR client addon for [Kodi] (http://kodi.tv) 6 | 7 | ## Build instructions 8 | 9 | ### Linux 10 | 11 | 1. `git clone https://github.com/xbmc/xbmc.git` 12 | 2. `git clone https://github.com/kodi-pvr/pvr.stalker.git` 13 | 3. `cd pvr.stalker && mkdir build && cd build` 14 | 4. `cmake -DADDONS_TO_BUILD=pvr.stalker -DADDON_SRC_PREFIX=../.. -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=../../xbmc/addons -DPACKAGE_ZIP=1 ../../xbmc/project/cmake/addons` 15 | 5. `make` 16 | 17 | ##### Useful links 18 | 19 | * [Kodi's PVR user support] (http://forum.kodi.tv/forumdisplay.php?fid=167) 20 | * [Kodi's PVR development support] (http://forum.kodi.tv/forumdisplay.php?fid=136) 21 | -------------------------------------------------------------------------------- /pvr.stalker/resources/language/resource.language.es_ar/strings.po: -------------------------------------------------------------------------------- 1 | # Kodi Media Center language file 2 | # Addon Name: Stalker Client 3 | # Addon id: pvr.stalker 4 | # Addon Provider: Jamal Edey 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: KODI Main\n" 8 | "Report-Msgid-Bugs-To: http://trac.kodi.tv/\n" 9 | "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" 10 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 11 | "Last-Translator: Kodi Translation Team\n" 12 | "Language-Team: Spanish (Argentina) (http://www.transifex.com/projects/p/kodi-main/language/es_AR/)\n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: 8bit\n" 16 | "Language: es_AR\n" 17 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 18 | 19 | msgctxt "#30000" 20 | msgid "General" 21 | msgstr "General" 22 | 23 | msgctxt "#30001" 24 | msgid "Active Portal" 25 | msgstr "Portal Activo" 26 | 27 | msgctxt "#30110" 28 | msgid "Prefer XMLTV" 29 | msgstr "Use primero XMLTV si esta disponible" 30 | 31 | msgctxt "#30119" 32 | msgid "Advanced" 33 | msgstr "Avanzado" 34 | -------------------------------------------------------------------------------- /pvr.stalker/resources/language/resource.language.fa_ir/strings.po: -------------------------------------------------------------------------------- 1 | # Kodi Media Center language file 2 | # Addon Name: Stalker Client 3 | # Addon id: pvr.stalker 4 | # Addon Provider: Jamal Edey 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: KODI Main\n" 8 | "Report-Msgid-Bugs-To: http://trac.kodi.tv/\n" 9 | "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" 10 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 11 | "Last-Translator: Kodi Translation Team\n" 12 | "Language-Team: Persian (Iran) (http://www.transifex.com/projects/p/kodi-main/language/fa_IR/)\n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: 8bit\n" 16 | "Language: fa_IR\n" 17 | "Plural-Forms: nplurals=1; plural=0;\n" 18 | 19 | msgctxt "#30103" 20 | msgid "Time Zone" 21 | msgstr "منطقه زمانی" 22 | 23 | msgctxt "#30105" 24 | msgid "Login" 25 | msgstr "ورود" 26 | 27 | msgctxt "#30107" 28 | msgid "Guide" 29 | msgstr "راهنما" 30 | 31 | msgctxt "#30119" 32 | msgid "Advanced" 33 | msgstr "پیشرفته" 34 | 35 | msgctxt "#30121" 36 | msgid "Serial Number" 37 | msgstr "شماره سریال" 38 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: cpp 2 | 3 | # 4 | # Define the build matrix 5 | # 6 | # Travis defaults to building on Ubuntu Precise when building on 7 | # Linux. We need Trusty in order to get up to date versions of 8 | # cmake and g++. 9 | # 10 | matrix: 11 | include: 12 | - os: linux 13 | dist: trusty 14 | sudo: required 15 | compiler: gcc 16 | - os: linux 17 | dist: trusty 18 | sudo: required 19 | compiler: clang 20 | - os: osx 21 | osx_image: xcode7.3 22 | - os: osx 23 | osx_image: xcode6.1 24 | 25 | # 26 | # The addon source is automatically checked out in $TRAVIS_BUILD_DIR, 27 | # we'll put the Kodi source on the same level 28 | # 29 | before_script: 30 | - cd $TRAVIS_BUILD_DIR/.. 31 | - git clone --depth=1 https://github.com/xbmc/xbmc.git 32 | - cd pvr.stalker && mkdir build && cd build 33 | - cmake -DADDONS_TO_BUILD=pvr.stalker -DADDON_SRC_PREFIX=$TRAVIS_BUILD_DIR/.. -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=$TRAVIS_BUILD_DIR/../xbmc/addons -DPACKAGE_ZIP=1 $TRAVIS_BUILD_DIR/../xbmc/project/cmake/addons 34 | 35 | script: make 36 | -------------------------------------------------------------------------------- /pvr.stalker/resources/language/resource.language.zh_tw/strings.po: -------------------------------------------------------------------------------- 1 | # Kodi Media Center language file 2 | # Addon Name: Stalker Client 3 | # Addon id: pvr.stalker 4 | # Addon Provider: Jamal Edey 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: KODI Main\n" 8 | "Report-Msgid-Bugs-To: http://trac.kodi.tv/\n" 9 | "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" 10 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 11 | "Last-Translator: Kodi Translation Team\n" 12 | "Language-Team: Chinese (Taiwan) (http://www.transifex.com/projects/p/kodi-main/language/zh_TW/)\n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: 8bit\n" 16 | "Language: zh_TW\n" 17 | "Plural-Forms: nplurals=1; plural=0;\n" 18 | 19 | msgctxt "#30000" 20 | msgid "General" 21 | msgstr "一般設定" 22 | 23 | msgctxt "#30102" 24 | msgid "Server Address" 25 | msgstr "伺服器地址" 26 | 27 | msgctxt "#30105" 28 | msgid "Login" 29 | msgstr "登入" 30 | 31 | msgctxt "#30106" 32 | msgid "Password" 33 | msgstr "密碼" 34 | 35 | msgctxt "#30107" 36 | msgid "Guide" 37 | msgstr "節目表" 38 | 39 | msgctxt "#30119" 40 | msgid "Advanced" 41 | msgstr "進階" 42 | -------------------------------------------------------------------------------- /pvr.stalker/resources/language/resource.language.vi_vn/strings.po: -------------------------------------------------------------------------------- 1 | # Kodi Media Center language file 2 | # Addon Name: Stalker Client 3 | # Addon id: pvr.stalker 4 | # Addon Provider: Jamal Edey 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: KODI Main\n" 8 | "Report-Msgid-Bugs-To: http://trac.kodi.tv/\n" 9 | "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" 10 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 11 | "Last-Translator: Kodi Translation Team\n" 12 | "Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/projects/p/kodi-main/language/vi_VN/)\n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: 8bit\n" 16 | "Language: vi_VN\n" 17 | "Plural-Forms: nplurals=1; plural=0;\n" 18 | 19 | msgctxt "#30000" 20 | msgid "General" 21 | msgstr "Tổng quan" 22 | 23 | msgctxt "#30001" 24 | msgid "Active Portal" 25 | msgstr "Cổng hoạt động" 26 | 27 | msgctxt "#30105" 28 | msgid "Login" 29 | msgstr "Đăng nhập" 30 | 31 | msgctxt "#30106" 32 | msgid "Password" 33 | msgstr "Mật khẩu" 34 | 35 | msgctxt "#30107" 36 | msgid "Guide" 37 | msgstr "Hướng dẫn" 38 | 39 | msgctxt "#30119" 40 | msgid "Advanced" 41 | msgstr "Nâng cao" 42 | -------------------------------------------------------------------------------- /pvr.stalker/resources/language/resource.language.mt_mt/strings.po: -------------------------------------------------------------------------------- 1 | # Kodi Media Center language file 2 | # Addon Name: Stalker Client 3 | # Addon id: pvr.stalker 4 | # Addon Provider: Jamal Edey 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: KODI Main\n" 8 | "Report-Msgid-Bugs-To: http://trac.kodi.tv/\n" 9 | "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" 10 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 11 | "Last-Translator: Kodi Translation Team\n" 12 | "Language-Team: Maltese (Malta) (http://www.transifex.com/projects/p/kodi-main/language/mt_MT/)\n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: 8bit\n" 16 | "Language: mt_MT\n" 17 | "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" 18 | 19 | msgctxt "#30102" 20 | msgid "Server Address" 21 | msgstr "Indirizz tas-server" 22 | 23 | msgctxt "#30106" 24 | msgid "Password" 25 | msgstr "Kodici" 26 | 27 | msgctxt "#30107" 28 | msgid "Guide" 29 | msgstr "Gwida" 30 | 31 | msgctxt "#30110" 32 | msgid "Prefer XMLTV" 33 | msgstr "Ippreferi XMLTV" 34 | 35 | msgctxt "#30119" 36 | msgid "Advanced" 37 | msgstr "Avvanzat" 38 | -------------------------------------------------------------------------------- /src/client.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | /* 4 | * Copyright (C) 2015, 2016 Jamal Edey 5 | * http://www.kenshisoft.com/ 6 | * 7 | * This program is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU General Public License 9 | * as published by the Free Software Foundation; either version 2 10 | * of the License, or (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with Kodi; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 20 | * 21 | * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html 22 | * 23 | */ 24 | 25 | #include 26 | #include 27 | 28 | extern ADDON::CHelper_libXBMC_addon *XBMC; 29 | extern CHelper_libXBMC_pvr *PVR; 30 | 31 | extern std::string g_strUserPath; 32 | extern std::string g_strClientPath; 33 | -------------------------------------------------------------------------------- /lib/libstalkerclient/util.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015, 2016 Jamal Edey 3 | * http://www.kenshisoft.com/ 4 | * 5 | * This program is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU General Public License 7 | * as published by the Free Software Foundation; either version 2 8 | * of the License, or (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Kodi; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 18 | * 19 | * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html 20 | * 21 | */ 22 | 23 | #include "util.h" 24 | 25 | #include 26 | 27 | char *sc_util_strcpy(char *str) { 28 | size_t len; 29 | 30 | len = strlen(str) + 1; 31 | char *buffer = (char *) malloc(len * sizeof(char)); 32 | strcpy(buffer, str); 33 | 34 | return buffer; 35 | } 36 | -------------------------------------------------------------------------------- /pvr.stalker/resources/language/resource.language.lv_lv/strings.po: -------------------------------------------------------------------------------- 1 | # Kodi Media Center language file 2 | # Addon Name: Stalker Client 3 | # Addon id: pvr.stalker 4 | # Addon Provider: Jamal Edey 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: KODI Main\n" 8 | "Report-Msgid-Bugs-To: http://trac.kodi.tv/\n" 9 | "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" 10 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 11 | "Last-Translator: Kodi Translation Team\n" 12 | "Language-Team: Latvian (Latvia) (http://www.transifex.com/projects/p/kodi-main/language/lv_LV/)\n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: 8bit\n" 16 | "Language: lv_LV\n" 17 | "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);\n" 18 | 19 | msgctxt "#30000" 20 | msgid "General" 21 | msgstr "Vispārīgi" 22 | 23 | msgctxt "#30101" 24 | msgid "MAC Address" 25 | msgstr "MAC adrese" 26 | 27 | msgctxt "#30102" 28 | msgid "Server Address" 29 | msgstr "Servera adrese" 30 | 31 | msgctxt "#30103" 32 | msgid "Time Zone" 33 | msgstr "Laika zona" 34 | 35 | msgctxt "#30105" 36 | msgid "Login" 37 | msgstr "Pieteikšanās" 38 | 39 | msgctxt "#30106" 40 | msgid "Password" 41 | msgstr "Parole" 42 | 43 | msgctxt "#30119" 44 | msgid "Advanced" 45 | msgstr "Papildus" 46 | -------------------------------------------------------------------------------- /src/Error.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | /* 4 | * Copyright (C) 2016 Jamal Edey 5 | * http://www.kenshisoft.com/ 6 | * 7 | * This program is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU General Public License 9 | * as published by the Free Software Foundation; either version 2 10 | * of the License, or (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with Kodi; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 20 | * 21 | * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html 22 | * 23 | */ 24 | 25 | typedef enum { 26 | SERROR_AUTHORIZATION = -8, 27 | SERROR_STREAM_URL, 28 | SERROR_LOAD_EPG, 29 | SERROR_LOAD_CHANNEL_GROUPS, 30 | SERROR_LOAD_CHANNELS, 31 | SERROR_AUTHENTICATION, 32 | SERROR_API, 33 | SERROR_INITIALIZE, 34 | SERROR_UNKNOWN, 35 | SERROR_OK, 36 | } SError; 37 | -------------------------------------------------------------------------------- /lib/libstalkerclient/util.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015, 2016 Jamal Edey 3 | * http://www.kenshisoft.com/ 4 | * 5 | * This program is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU General Public License 7 | * as published by the Free Software Foundation; either version 2 8 | * of the License, or (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Kodi; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 18 | * 19 | * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html 20 | * 21 | */ 22 | 23 | #ifndef UTIL_H 24 | #define UTIL_H 25 | 26 | #include 27 | 28 | #define SC_STR_LENGTH 1024 29 | 30 | #define SC_STR_SET(dst, src) \ 31 | strncpy(dst, src, sizeof(dst) - 1); 32 | 33 | #ifdef __cplusplus 34 | extern "C" { 35 | #endif 36 | 37 | char *sc_util_strcpy(char *str); 38 | 39 | #ifdef __cplusplus 40 | } 41 | #endif 42 | 43 | #endif /* UTIL_H */ 44 | -------------------------------------------------------------------------------- /CMakeLists.txt: -------------------------------------------------------------------------------- 1 | project(pvr.stalker) 2 | 3 | cmake_minimum_required(VERSION 2.6) 4 | 5 | list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}) 6 | 7 | enable_language(CXX) 8 | 9 | find_package(Kodi REQUIRED) 10 | find_package(kodiplatform REQUIRED) 11 | find_package(p8-platform REQUIRED) 12 | find_package(LibXml2 REQUIRED) 13 | find_package(JsonCpp REQUIRED) 14 | 15 | include_directories( 16 | ${kodiplatform_INCLUDE_DIRS} 17 | ${p8-platform_INCLUDE_DIRS} 18 | ${KODI_INCLUDE_DIR} 19 | ${PROJECT_SOURCE_DIR}/lib 20 | ${LIBXML2_INCLUDE_DIR} 21 | ${JSONCPP_INCLUDE_DIRS}) 22 | 23 | add_subdirectory(lib/libstalkerclient) 24 | 25 | set(DEPLIBS 26 | ${p8-platform_LIBRARIES} 27 | stalkerclient 28 | ${LIBXML2_LIBRARIES} 29 | ${JSONCPP_LIBRARIES}) 30 | 31 | set(BASE_SOURCES 32 | src/base/Cache.cpp) 33 | 34 | set(SOURCES 35 | src/client.cpp 36 | src/ChannelManager.cpp 37 | src/CWatchdog.cpp 38 | src/GuideManager.cpp 39 | src/HTTPSocket.cpp 40 | src/SAPI.cpp 41 | src/SData.cpp 42 | src/SessionManager.cpp 43 | src/Utils.cpp 44 | src/XMLTV.cpp) 45 | 46 | set(STALKER_SOURCES 47 | ${BASE_SOURCES} 48 | ${SOURCES}) 49 | 50 | build_addon(pvr.stalker STALKER DEPLIBS) 51 | 52 | include(CPack) 53 | -------------------------------------------------------------------------------- /lib/libstalkerclient/identity.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015, 2016 Jamal Edey 3 | * http://www.kenshisoft.com/ 4 | * 5 | * This program is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU General Public License 7 | * as published by the Free Software Foundation; either version 2 8 | * of the License, or (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Kodi; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 18 | * 19 | * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html 20 | * 21 | */ 22 | 23 | #include "identity.h" 24 | 25 | void sc_identity_defaults(sc_identity_t *identity) { 26 | memset(identity, 0, sizeof(*identity)); 27 | 28 | SC_STR_SET(identity->mac, "00:1A:79:00:00:00"); 29 | SC_STR_SET(identity->lang, "en"); 30 | SC_STR_SET(identity->time_zone, "Europe/Kiev"); 31 | identity->valid_token = true; 32 | } 33 | -------------------------------------------------------------------------------- /src/base/GuideManager.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | /* 4 | * Copyright (C) 2016 Jamal Edey 5 | * http://www.kenshisoft.com/ 6 | * 7 | * This program is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU General Public License 9 | * as published by the Free Software Foundation; either version 2 10 | * of the License, or (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with Kodi; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 20 | * 21 | * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html 22 | * 23 | */ 24 | 25 | #include 26 | #include 27 | 28 | namespace Base { 29 | struct Event { 30 | unsigned int uniqueBroadcastId; 31 | std::string title; 32 | unsigned int channelNumber; 33 | time_t startTime; 34 | time_t endTime; 35 | }; 36 | 37 | template 38 | class GuideManager { 39 | public: 40 | GuideManager() { } 41 | 42 | virtual ~GuideManager() { } 43 | }; 44 | } 45 | -------------------------------------------------------------------------------- /lib/libstalkerclient/action.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015, 2016 Jamal Edey 3 | * http://www.kenshisoft.com/ 4 | * 5 | * This program is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU General Public License 7 | * as published by the Free Software Foundation; either version 2 8 | * of the License, or (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Kodi; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 18 | * 19 | * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html 20 | * 21 | */ 22 | 23 | #ifndef ACTION_H 24 | #define ACTION_H 25 | 26 | #ifdef __cplusplus 27 | extern "C" { 28 | #endif 29 | 30 | typedef enum { 31 | // STB 32 | STB_HANDSHAKE, 33 | STB_GET_PROFILE, 34 | STB_DO_AUTH, 35 | 36 | // ITV 37 | ITV_GET_ALL_CHANNELS, 38 | ITV_GET_ORDERED_LIST, 39 | ITV_CREATE_LINK, 40 | ITV_GET_GENRES, 41 | ITV_GET_EPG_INFO, 42 | 43 | // WATCHDOG 44 | WATCHDOG_GET_EVENTS 45 | } sc_action_t; 46 | 47 | #ifdef __cplusplus 48 | } 49 | #endif 50 | 51 | #endif /* ACTION_H */ 52 | -------------------------------------------------------------------------------- /lib/libstalkerclient/watchdog.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015, 2016 Jamal Edey 3 | * http://www.kenshisoft.com/ 4 | * 5 | * This program is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU General Public License 7 | * as published by the Free Software Foundation; either version 2 8 | * of the License, or (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Kodi; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 18 | * 19 | * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html 20 | * 21 | */ 22 | 23 | #ifndef WATCHDOG_H 24 | #define WATCHDOG_H 25 | 26 | #include 27 | 28 | #include "param.h" 29 | #include "request.h" 30 | 31 | #ifdef __cplusplus 32 | extern "C" { 33 | #endif 34 | 35 | bool sc_watchdog_get_events_defaults(sc_list_t *list); 36 | 37 | bool sc_watchdog_defaults(sc_param_params_t *params); 38 | 39 | bool sc_watchdog_prep_request(sc_param_params_t *params, sc_request_t *request); 40 | 41 | #ifdef __cplusplus 42 | } 43 | #endif 44 | 45 | #endif /* WATCHDOG_H */ 46 | -------------------------------------------------------------------------------- /src/CWatchdog.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | /* 4 | * Copyright (C) 2015, 2016 Jamal Edey 5 | * http://www.kenshisoft.com/ 6 | * 7 | * This program is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU General Public License 9 | * as published by the Free Software Foundation; either version 2 10 | * of the License, or (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with Kodi; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 20 | * 21 | * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html 22 | * 23 | */ 24 | 25 | #include 26 | 27 | #include "SAPI.h" 28 | 29 | namespace SC { 30 | class CWatchdog { 31 | public: 32 | CWatchdog(unsigned int interval, SAPI *api, std::function errorCallback); 33 | 34 | virtual ~CWatchdog(); 35 | 36 | virtual void Start(); 37 | 38 | virtual void Stop(); 39 | 40 | private: 41 | void Process(); 42 | 43 | unsigned int m_interval; 44 | SAPI *m_api; 45 | std::function m_errorCallback; 46 | bool m_threadActive; 47 | std::thread m_thread; 48 | }; 49 | } 50 | -------------------------------------------------------------------------------- /lib/libstalkerclient/identity.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015, 2016 Jamal Edey 3 | * http://www.kenshisoft.com/ 4 | * 5 | * This program is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU General Public License 7 | * as published by the Free Software Foundation; either version 2 8 | * of the License, or (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Kodi; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 18 | * 19 | * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html 20 | * 21 | */ 22 | 23 | #ifndef IDENTITY_H 24 | #define IDENTITY_H 25 | 26 | #include 27 | 28 | #include "util.h" 29 | 30 | #ifdef __cplusplus 31 | extern "C" { 32 | #endif 33 | 34 | typedef struct { 35 | char mac[SC_STR_LENGTH]; 36 | char lang[SC_STR_LENGTH]; 37 | char time_zone[SC_STR_LENGTH]; 38 | char token[SC_STR_LENGTH]; 39 | bool valid_token; 40 | char login[SC_STR_LENGTH]; 41 | char password[SC_STR_LENGTH]; 42 | char serial_number[SC_STR_LENGTH]; 43 | char device_id[SC_STR_LENGTH]; 44 | char device_id2[SC_STR_LENGTH]; 45 | char signature[SC_STR_LENGTH]; 46 | } sc_identity_t; 47 | 48 | void sc_identity_defaults(sc_identity_t *identity); 49 | 50 | #ifdef __cplusplus 51 | } 52 | #endif 53 | 54 | #endif /* IDENTITY_H */ 55 | -------------------------------------------------------------------------------- /src/base/Cache.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | /* 4 | * Copyright (C) 2016 Jamal Edey 5 | * http://www.kenshisoft.com/ 6 | * 7 | * This program is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU General Public License 9 | * as published by the Free Software Foundation; either version 2 10 | * of the License, or (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with Kodi; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 20 | * 21 | * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html 22 | * 23 | */ 24 | 25 | #include 26 | 27 | #include 28 | #include 29 | 30 | namespace Base { 31 | class Cache { 32 | public: 33 | Cache(); 34 | 35 | virtual ~Cache(); 36 | 37 | protected: 38 | virtual bool Open(const std::string &cacheFile, xmlDocPtr &doc, xmlNodePtr &rootNode, 39 | const std::string &rootNodeName); 40 | 41 | virtual xmlNodePtr FindNodeByName(xmlNodePtr &startNode, const xmlChar *name); 42 | 43 | virtual xmlNodePtr FindAndGetNodeValue(xmlNodePtr &parentNode, const xmlChar *name, std::string &value); 44 | 45 | virtual xmlNodePtr FindAndSetNodeValue(xmlNodePtr &parentNode, const xmlChar *name, const xmlChar *value); 46 | }; 47 | } 48 | -------------------------------------------------------------------------------- /pvr.stalker/resources/language/resource.language.am_et/strings.po: -------------------------------------------------------------------------------- 1 | # Kodi Media Center language file 2 | # Addon Name: Stalker Client 3 | # Addon id: pvr.stalker 4 | # Addon Provider: Jamal Edey 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: KODI Main\n" 8 | "Report-Msgid-Bugs-To: http://trac.kodi.tv/\n" 9 | "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" 10 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 11 | "Last-Translator: Kodi Translation Team\n" 12 | "Language-Team: Amharic (Ethiopia) (http://www.transifex.com/projects/p/kodi-main/language/am_ET/)\n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: 8bit\n" 16 | "Language: am_ET\n" 17 | "Plural-Forms: nplurals=2; plural=(n > 1);\n" 18 | 19 | msgctxt "#30000" 20 | msgid "General" 21 | msgstr "ባጠቃላይ" 22 | 23 | msgctxt "#30002" 24 | msgid "Misc" 25 | msgstr "የተለያዩ " 26 | 27 | msgctxt "#30103" 28 | msgid "Time Zone" 29 | msgstr "የ ሰአት ክልል" 30 | 31 | msgctxt "#30105" 32 | msgid "Login" 33 | msgstr "መግቢያ" 34 | 35 | msgctxt "#30106" 36 | msgid "Password" 37 | msgstr "የ መግቢያ ቃል" 38 | 39 | msgctxt "#30107" 40 | msgid "Guide" 41 | msgstr "መመሪያ " 42 | 43 | msgctxt "#30108" 44 | msgid "Preference" 45 | msgstr "ምርጫዎች" 46 | 47 | msgctxt "#30109" 48 | msgid "Prefer Provider" 49 | msgstr "የሚመርጡት አቅራቢ" 50 | 51 | msgctxt "#30111" 52 | msgid "Provider Only" 53 | msgstr "አቅራቢ ብቻ" 54 | 55 | msgctxt "#30119" 56 | msgid "Advanced" 57 | msgstr "የረቀቀ" 58 | 59 | msgctxt "#30124" 60 | msgid "Signature" 61 | msgstr "ፊርማ " 62 | 63 | msgctxt "#31000" 64 | msgid "Portal 1" 65 | msgstr "መግቢያ 1" 66 | 67 | msgctxt "#32000" 68 | msgid "Portal 2" 69 | msgstr "መግቢያ 2" 70 | 71 | msgctxt "#33000" 72 | msgid "Portal 3" 73 | msgstr "መግቢያ 3" 74 | 75 | msgctxt "#34000" 76 | msgid "Portal 4" 77 | msgstr "መግቢያ 4" 78 | 79 | msgctxt "#35000" 80 | msgid "Portal 5" 81 | msgstr "መግቢያ 5" 82 | -------------------------------------------------------------------------------- /lib/libstalkerclient/stb.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015, 2016 Jamal Edey 3 | * http://www.kenshisoft.com/ 4 | * 5 | * This program is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU General Public License 7 | * as published by the Free Software Foundation; either version 2 8 | * of the License, or (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Kodi; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 18 | * 19 | * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html 20 | * 21 | */ 22 | 23 | #ifndef STB_H 24 | #define STB_H 25 | 26 | #include 27 | 28 | #include "param.h" 29 | #include "request.h" 30 | #include "util.h" 31 | 32 | #ifdef __cplusplus 33 | extern "C" { 34 | #endif 35 | 36 | typedef struct { 37 | bool store_auth_data_on_stb; 38 | int status; 39 | char msg[SC_STR_LENGTH]; 40 | char block_msg[SC_STR_LENGTH]; 41 | int watchdog_timeout; 42 | double timeslot; 43 | } sc_stb_profile_t; 44 | 45 | bool sc_stb_handshake_defaults(sc_list_t *list); 46 | 47 | bool sc_stb_get_profile_defaults(sc_list_t *list); 48 | 49 | bool sc_stb_do_auth_defaults(sc_list_t *list); 50 | 51 | bool sc_stb_defaults(sc_param_params_t *params); 52 | 53 | bool sc_stb_prep_request(sc_param_params_t *params, sc_request_t *request); 54 | 55 | void sc_stb_profile_defaults(sc_stb_profile_t *profile); 56 | 57 | #ifdef __cplusplus 58 | } 59 | #endif 60 | 61 | #endif /* STB_H */ 62 | -------------------------------------------------------------------------------- /lib/libstalkerclient/itv.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015, 2016 Jamal Edey 3 | * http://www.kenshisoft.com/ 4 | * 5 | * This program is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU General Public License 7 | * as published by the Free Software Foundation; either version 2 8 | * of the License, or (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Kodi; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 18 | * 19 | * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html 20 | * 21 | */ 22 | 23 | #ifndef ITV_H 24 | #define ITV_H 25 | 26 | #include 27 | 28 | #include "param.h" 29 | #include "request.h" 30 | 31 | #define SC_ITV_LOGO_PATH "misc/logos/" 32 | #define SC_ITV_LOGO_PATH_120 SC_ITV_LOGO_PATH "120/" 33 | #define SC_ITV_LOGO_PATH_160 SC_ITV_LOGO_PATH "160/" 34 | #define SC_ITV_LOGO_PATH_240 SC_ITV_LOGO_PATH "240/" 35 | #define SC_ITV_LOGO_PATH_320 SC_ITV_LOGO_PATH "320/" 36 | 37 | #ifdef __cplusplus 38 | extern "C" { 39 | #endif 40 | 41 | bool sc_itv_get_all_channels_defaults(sc_list_t *list); 42 | 43 | bool sc_itv_get_ordered_list_defaults(sc_list_t *list); 44 | 45 | bool sc_itv_create_link_defaults(sc_list_t *list); 46 | 47 | bool sc_itv_get_genres_defaults(sc_list_t *list); 48 | 49 | bool sc_itv_get_epg_info_defaults(sc_list_t *list); 50 | 51 | bool sc_itv_defaults(sc_param_params_t *params); 52 | 53 | bool sc_itv_prep_request(sc_param_params_t *params, sc_request_t *request); 54 | 55 | #ifdef __cplusplus 56 | } 57 | #endif 58 | 59 | #endif /* ITV_H */ 60 | -------------------------------------------------------------------------------- /lib/libstalkerclient/list.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015, 2016 Jamal Edey 3 | * http://www.kenshisoft.com/ 4 | * 5 | * This program is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU General Public License 7 | * as published by the Free Software Foundation; either version 2 8 | * of the License, or (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Kodi; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 18 | * 19 | * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html 20 | * 21 | */ 22 | 23 | #ifndef LIST_H 24 | #define LIST_H 25 | 26 | #include 27 | 28 | #ifdef __cplusplus 29 | extern "C" { 30 | #endif 31 | 32 | struct sc_list_node; 33 | 34 | typedef struct sc_list_node { 35 | void *data; 36 | struct sc_list_node *prev; 37 | struct sc_list_node *next; 38 | } sc_list_node_t; 39 | 40 | typedef struct sc_list { 41 | sc_list_node_t *first; 42 | sc_list_node_t *last; 43 | } sc_list_t; 44 | 45 | sc_list_t *sc_list_create(); 46 | 47 | sc_list_node_t *sc_list_node_create(void *data); 48 | 49 | sc_list_node_t *sc_list_node_link(sc_list_t *list, sc_list_node_t *a, sc_list_node_t *b); 50 | 51 | sc_list_node_t *sc_list_node_unlink(sc_list_t *list, sc_list_node_t *node); 52 | 53 | sc_list_node_t *sc_list_node_append(sc_list_t *list, sc_list_node_t *node); 54 | 55 | void sc_list_node_free(sc_list_node_t **node, bool free_data); 56 | 57 | void sc_list_free(sc_list_t **list, bool free_node_data); 58 | 59 | #ifdef __cplusplus 60 | } 61 | #endif 62 | 63 | #endif /* LIST_H */ 64 | -------------------------------------------------------------------------------- /src/Utils.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | /* 4 | * Copyright (C) 2015, 2016 Jamal Edey 5 | * http://www.kenshisoft.com/ 6 | * 7 | * This program is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU General Public License 9 | * as published by the Free Software Foundation; either version 2 10 | * of the License, or (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with Kodi; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 20 | * 21 | * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html 22 | * 23 | */ 24 | 25 | #include 26 | #include 27 | 28 | #include 29 | 30 | class Utils { 31 | public: 32 | static std::string GetFilePath(const std::string &path, bool isUserPath = true); 33 | 34 | static std::string UrlEncode(const std::string &string); 35 | 36 | static double StringToDouble(const std::string &value); 37 | 38 | static int StringToInt(const std::string &value); 39 | 40 | static int GetIntFromJsonValue(Json::Value &value, int defaultValue = 0); 41 | 42 | static double GetDoubleFromJsonValue(Json::Value &value, double defaultValue = 0); 43 | 44 | static bool GetBoolFromJsonValue(Json::Value &value); 45 | 46 | static std::string DetermineLogoURI(const std::string &basePath, const std::string &logo); 47 | 48 | template 49 | static std::string ToString(const T &value) { 50 | std::ostringstream oss; 51 | oss << value; 52 | return oss.str(); 53 | } 54 | }; 55 | -------------------------------------------------------------------------------- /debian/copyright: -------------------------------------------------------------------------------- 1 | Format: http://dep.debian.net/deps/dep5 2 | Upstream-Name: pvr.stalker 3 | Source: https://github.com/kodi-pvr/pvr.stalker 4 | 5 | Files: * 6 | Copyright: 2015 Jamal Edey jeanstarwin@gmail.com 7 | License: GPL-2+ 8 | This package is free software; you can redistribute it and/or modify 9 | it under the terms of the GNU General Public License as published by 10 | the Free Software Foundation; either version 2 of the License, or 11 | (at your option) any later version. 12 | . 13 | This package is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | GNU General Public License for more details. 17 | . 18 | You should have received a copy of the GNU General Public License 19 | along with this program. If not, see 20 | . 21 | On Debian systems, the complete text of the GNU General 22 | Public License version 2 can be found in "/usr/share/common-licenses/GPL-2". 23 | 24 | Files: debian/* 25 | Copyright: 2015 Jamal Edey jeanstarwin@gmail.com 26 | License: GPL-2+ 27 | This package is free software; you can redistribute it and/or modify 28 | it under the terms of the GNU General Public License as published by 29 | the Free Software Foundation; either version 2 of the License, or 30 | (at your option) any later version. 31 | . 32 | This package is distributed in the hope that it will be useful, 33 | but WITHOUT ANY WARRANTY; without even the implied warranty of 34 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 35 | GNU General Public License for more details. 36 | . 37 | You should have received a copy of the GNU General Public License 38 | along with this program. If not, see 39 | . 40 | On Debian systems, the complete text of the GNU General 41 | Public License version 2 can be found in "/usr/share/common-licenses/GPL-2". 42 | 43 | # Please also look if there are files or directories which have a 44 | # different copyright/license attached and list them here. 45 | -------------------------------------------------------------------------------- /src/base/ChannelManager.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | /* 4 | * Copyright (C) 2016 Jamal Edey 5 | * http://www.kenshisoft.com/ 6 | * 7 | * This program is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU General Public License 9 | * as published by the Free Software Foundation; either version 2 10 | * of the License, or (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with Kodi; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 20 | * 21 | * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html 22 | * 23 | */ 24 | 25 | #include 26 | #include 27 | #include 28 | 29 | namespace Base { 30 | struct Channel { 31 | unsigned int uniqueId; 32 | int number; 33 | std::string name; 34 | }; 35 | 36 | template 37 | class ChannelManager { 38 | public: 39 | typedef typename std::vector::iterator ChannelIterator; 40 | 41 | ChannelManager() { } 42 | 43 | virtual ~ChannelManager() { 44 | m_channels.clear(); 45 | } 46 | 47 | virtual ChannelIterator GetChannelIterator(unsigned int uniqueId) { 48 | ChannelIterator it; 49 | it = std::find_if(m_channels.begin(), m_channels.end(), [uniqueId](const Channel &c) { 50 | return c.uniqueId == uniqueId; 51 | }); 52 | return it; 53 | } 54 | 55 | virtual ChannelType *GetChannel(unsigned int uniqueId) { 56 | ChannelIterator it = GetChannelIterator(uniqueId); 57 | return it != m_channels.end() ? &(*it) : nullptr; 58 | } 59 | 60 | virtual std::vector GetChannels() { 61 | return m_channels; 62 | } 63 | 64 | protected: 65 | std::vector m_channels; 66 | }; 67 | } 68 | -------------------------------------------------------------------------------- /lib/libstalkerclient/param.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015, 2016 Jamal Edey 3 | * http://www.kenshisoft.com/ 4 | * 5 | * This program is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU General Public License 7 | * as published by the Free Software Foundation; either version 2 8 | * of the License, or (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Kodi; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 18 | * 19 | * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html 20 | * 21 | */ 22 | 23 | #ifndef PARAM_H 24 | #define PARAM_H 25 | 26 | #include 27 | 28 | #include "action.h" 29 | #include "list.h" 30 | 31 | #ifdef __cplusplus 32 | extern "C" { 33 | #endif 34 | 35 | typedef enum { 36 | SC_STRING, 37 | SC_INTEGER, 38 | SC_BOOLEAN 39 | } sc_param_type_t; 40 | 41 | typedef struct sc_param { 42 | const char *name; 43 | sc_param_type_t type; 44 | union { 45 | char *string; 46 | int integer; 47 | bool boolean; 48 | } value; 49 | bool required; 50 | } sc_param_t; 51 | 52 | typedef struct { 53 | sc_action_t action; 54 | sc_list_t *list; 55 | } sc_param_params_t; 56 | 57 | sc_param_params_t *sc_param_params_create(sc_action_t action); 58 | 59 | sc_param_t *sc_param_create(const char *name, sc_param_type_t type, bool required); 60 | 61 | sc_param_t *sc_param_create_string(const char *name, char *value, bool required); 62 | 63 | sc_param_t *sc_param_create_integer(const char *name, int value, bool required); 64 | 65 | sc_param_t *sc_param_create_boolean(const char *name, bool value, bool required); 66 | 67 | sc_param_t *sc_param_get(sc_param_params_t *params, const char *name); 68 | 69 | sc_param_t *sc_param_get2(sc_param_params_t *params, const char *name, sc_list_node_t **param_node); 70 | 71 | sc_param_t *sc_param_copy(sc_param_t *param); 72 | 73 | void sc_param_free(sc_param_t **param); 74 | 75 | void sc_param_params_free(sc_param_params_t **params); 76 | 77 | #ifdef __cplusplus 78 | } 79 | #endif 80 | 81 | #endif /* PARAM_H */ 82 | -------------------------------------------------------------------------------- /src/HTTPSocket.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | /* 4 | * Copyright (C) 2015 Jamal Edey 5 | * http://www.kenshisoft.com/ 6 | * 7 | * This program is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU General Public License 9 | * as published by the Free Software Foundation; either version 2 10 | * of the License, or (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with Kodi; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 20 | * 21 | * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html 22 | * 23 | */ 24 | 25 | #include 26 | #include 27 | 28 | #define HTTPSOCKET_MINIMUM_TIMEOUT 5 29 | 30 | class HTTPSocket { 31 | public: 32 | typedef enum { 33 | SCOPE_REMOTE, 34 | SCOPE_LOCAL 35 | } Scope; 36 | 37 | typedef enum { 38 | METHOD_GET 39 | } Method; 40 | 41 | struct URLOption { 42 | std::string name; 43 | std::string value; 44 | }; 45 | 46 | struct Request { 47 | Scope scope = SCOPE_REMOTE; 48 | Method method = METHOD_GET; 49 | std::string url; 50 | std::vector options; 51 | 52 | void AddURLOption(const std::string &name, const std::string &value) { 53 | URLOption option = {name, value}; 54 | options.push_back(option); 55 | } 56 | }; 57 | 58 | struct Response { 59 | bool useCache = false; 60 | std::string url; 61 | unsigned int expiry = 0; 62 | std::string body; 63 | bool writeToBody = true; 64 | }; 65 | 66 | HTTPSocket(unsigned int timeout = HTTPSOCKET_MINIMUM_TIMEOUT); 67 | 68 | virtual ~HTTPSocket(); 69 | 70 | virtual bool Execute(Request &request, Response &response); 71 | 72 | protected: 73 | virtual void SetDefaults(Request &request); 74 | 75 | virtual void BuildRequestURL(Request &request); 76 | 77 | virtual bool Get(Request &request, Response &response, bool reqUseCache); 78 | 79 | virtual bool ResponseIsFresh(Response &response); 80 | 81 | unsigned int m_timeout; 82 | std::vector m_defaultOptions; 83 | }; 84 | -------------------------------------------------------------------------------- /lib/libstalkerclient/request.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015, 2016 Jamal Edey 3 | * http://www.kenshisoft.com/ 4 | * 5 | * This program is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU General Public License 7 | * as published by the Free Software Foundation; either version 2 8 | * of the License, or (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Kodi; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 18 | * 19 | * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html 20 | * 21 | */ 22 | 23 | #ifndef REQUEST_H 24 | #define REQUEST_H 25 | 26 | #include "identity.h" 27 | #include "param.h" 28 | 29 | #ifdef __cplusplus 30 | extern "C" { 31 | #endif 32 | 33 | struct sc_request_nameVal; 34 | 35 | typedef struct sc_request_nameVal { 36 | const char *name; 37 | char *value; 38 | struct sc_request_nameVal *first; 39 | struct sc_request_nameVal *prev; 40 | struct sc_request_nameVal *next; 41 | } sc_request_nameVal_t; 42 | 43 | typedef struct { 44 | const char *method; 45 | sc_request_nameVal_t *headers; 46 | sc_request_nameVal_t *params; 47 | } sc_request_t; 48 | 49 | void sc_request_set_missing_required(sc_param_params_t *dst_params, sc_param_params_t *src_params); 50 | 51 | void sc_request_remove_default_non_required(sc_param_params_t *dst_params, sc_param_params_t *src_params); 52 | 53 | sc_request_nameVal_t *sc_request_create_nameVal(const char *name, char *value); 54 | 55 | sc_request_nameVal_t *sc_request_link_nameVal(sc_request_nameVal_t *a, sc_request_nameVal_t *b); 56 | 57 | void sc_request_append_nameVal(sc_request_nameVal_t **first, sc_request_nameVal_t *nameVal); 58 | 59 | void sc_request_build_headers(sc_identity_t *identity, sc_request_t *request, sc_action_t action); 60 | 61 | void sc_request_build_query_params(sc_param_params_t *params, sc_request_t *request); 62 | 63 | bool sc_request_build(sc_identity_t *identity, sc_param_params_t *params, sc_request_t *request); 64 | 65 | void sc_request_free_nameVal(sc_request_nameVal_t **nameVal); 66 | 67 | void sc_request_free_nameVals(sc_request_nameVal_t **nameVals); 68 | 69 | void sc_request_free(sc_request_t **request); 70 | 71 | #ifdef __cplusplus 72 | } 73 | #endif 74 | 75 | #endif /* REQUEST_H */ 76 | -------------------------------------------------------------------------------- /lib/libstalkerclient/watchdog.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015, 2016 Jamal Edey 3 | * http://www.kenshisoft.com/ 4 | * 5 | * This program is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU General Public License 7 | * as published by the Free Software Foundation; either version 2 8 | * of the License, or (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Kodi; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 18 | * 19 | * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html 20 | * 21 | */ 22 | 23 | #include "watchdog.h" 24 | 25 | bool sc_watchdog_get_events_defaults(sc_list_t *list) { 26 | sc_list_node_append(list, sc_list_node_create(sc_param_create_boolean("init", false, true))); 27 | sc_list_node_append(list, sc_list_node_create(sc_param_create_integer("cur_play_type", 0, true))); 28 | sc_list_node_append(list, sc_list_node_create(sc_param_create_integer("event_active_id", 0, true))); 29 | 30 | return true; 31 | } 32 | 33 | bool sc_watchdog_defaults(sc_param_params_t *params) { 34 | switch (params->action) { 35 | case WATCHDOG_GET_EVENTS: 36 | return sc_watchdog_get_events_defaults(params->list); 37 | default: 38 | break; 39 | } 40 | 41 | return false; 42 | } 43 | 44 | bool sc_watchdog_prep_request(sc_param_params_t *params, sc_request_t *request) { 45 | sc_request_nameVal_t *paramPrev; 46 | sc_request_nameVal_t *param; 47 | 48 | paramPrev = request->params; 49 | while (paramPrev && paramPrev->next) 50 | paramPrev = paramPrev->next; 51 | 52 | param = sc_request_create_nameVal("type", "watchdog"); 53 | 54 | if (!paramPrev) { 55 | param->first = param; 56 | request->params = paramPrev = param; 57 | } else { 58 | paramPrev = sc_request_link_nameVal(paramPrev, param); 59 | } 60 | 61 | switch (params->action) { 62 | case WATCHDOG_GET_EVENTS: 63 | sc_request_link_nameVal(paramPrev, sc_request_create_nameVal("action", "get_events")); 64 | break; 65 | default: 66 | break; 67 | } 68 | 69 | request->method = "GET"; 70 | 71 | return true; 72 | } 73 | -------------------------------------------------------------------------------- /pvr.stalker/resources/language/resource.language.bg_bg/strings.po: -------------------------------------------------------------------------------- 1 | # Kodi Media Center language file 2 | # Addon Name: Stalker Client 3 | # Addon id: pvr.stalker 4 | # Addon Provider: Jamal Edey 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: KODI Main\n" 8 | "Report-Msgid-Bugs-To: http://trac.kodi.tv/\n" 9 | "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" 10 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 11 | "Last-Translator: Kodi Translation Team\n" 12 | "Language-Team: Bulgarian (Bulgaria) (http://www.transifex.com/projects/p/kodi-main/language/bg_BG/)\n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: 8bit\n" 16 | "Language: bg_BG\n" 17 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 18 | 19 | msgctxt "#30000" 20 | msgid "General" 21 | msgstr "Основни" 22 | 23 | msgctxt "#30001" 24 | msgid "Active Portal" 25 | msgstr "Активен портал" 26 | 27 | msgctxt "#30002" 28 | msgid "Misc" 29 | msgstr "Разни" 30 | 31 | msgctxt "#30101" 32 | msgid "MAC Address" 33 | msgstr "MAC адрес" 34 | 35 | msgctxt "#30102" 36 | msgid "Server Address" 37 | msgstr "Адрес на сървъра" 38 | 39 | msgctxt "#30103" 40 | msgid "Time Zone" 41 | msgstr "Часови пояс" 42 | 43 | msgctxt "#30105" 44 | msgid "Login" 45 | msgstr "Влизане" 46 | 47 | msgctxt "#30106" 48 | msgid "Password" 49 | msgstr "Парола" 50 | 51 | msgctxt "#30107" 52 | msgid "Guide" 53 | msgstr "Справочник" 54 | 55 | msgctxt "#30108" 56 | msgid "Preference" 57 | msgstr "Предпочитания" 58 | 59 | msgctxt "#30110" 60 | msgid "Prefer XMLTV" 61 | msgstr "Предпочитай XMLTV" 62 | 63 | msgctxt "#30112" 64 | msgid "XMLTV Only" 65 | msgstr "Само XMLTV" 66 | 67 | msgctxt "#30115" 68 | msgid "XMLTV" 69 | msgstr "XMLTV" 70 | 71 | msgctxt "#30117" 72 | msgid "Remote URL" 73 | msgstr "Отдалечен URL адрес" 74 | 75 | msgctxt "#30119" 76 | msgid "Advanced" 77 | msgstr "Допълнителни" 78 | 79 | msgctxt "#30121" 80 | msgid "Serial Number" 81 | msgstr "Сериен номер" 82 | 83 | msgctxt "#30122" 84 | msgid "Device ID" 85 | msgstr "ID на устройството" 86 | 87 | msgctxt "#30123" 88 | msgid "Device ID2" 89 | msgstr "ID2 на устройството" 90 | 91 | msgctxt "#30501" 92 | msgid "Unknown error. See log for details." 93 | msgstr "Неизвестна грешка. Проверете журнала за подробности." 94 | 95 | msgctxt "#31000" 96 | msgid "Portal 1" 97 | msgstr "Портал 1" 98 | 99 | msgctxt "#32000" 100 | msgid "Portal 2" 101 | msgstr "Портал 2" 102 | 103 | msgctxt "#33000" 104 | msgid "Portal 3" 105 | msgstr "Портал 3" 106 | 107 | msgctxt "#34000" 108 | msgid "Portal 4" 109 | msgstr "Портал 4" 110 | 111 | msgctxt "#35000" 112 | msgid "Portal 5" 113 | msgstr "Портал 5" 114 | -------------------------------------------------------------------------------- /pvr.stalker/resources/language/resource.language.tr_tr/strings.po: -------------------------------------------------------------------------------- 1 | # Kodi Media Center language file 2 | # Addon Name: Stalker Client 3 | # Addon id: pvr.stalker 4 | # Addon Provider: Jamal Edey 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: KODI Main\n" 8 | "Report-Msgid-Bugs-To: http://trac.kodi.tv/\n" 9 | "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" 10 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 11 | "Last-Translator: Kodi Translation Team\n" 12 | "Language-Team: Turkish (Turkey) (http://www.transifex.com/projects/p/kodi-main/language/tr_TR/)\n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: 8bit\n" 16 | "Language: tr_TR\n" 17 | "Plural-Forms: nplurals=1; plural=0;\n" 18 | 19 | msgctxt "#30000" 20 | msgid "General" 21 | msgstr "Genel" 22 | 23 | msgctxt "#30001" 24 | msgid "Active Portal" 25 | msgstr "Etkin Portal" 26 | 27 | msgctxt "#30002" 28 | msgid "Misc" 29 | msgstr "Çeşitli" 30 | 31 | msgctxt "#30101" 32 | msgid "MAC Address" 33 | msgstr "MAC Adresi" 34 | 35 | msgctxt "#30102" 36 | msgid "Server Address" 37 | msgstr "Sunucu Adresi" 38 | 39 | msgctxt "#30103" 40 | msgid "Time Zone" 41 | msgstr "Saat Dilimi" 42 | 43 | msgctxt "#30104" 44 | msgid "Auth Credentials" 45 | msgstr "Kimlik Doğrulama" 46 | 47 | msgctxt "#30105" 48 | msgid "Login" 49 | msgstr "Giriş" 50 | 51 | msgctxt "#30106" 52 | msgid "Password" 53 | msgstr "Şifre" 54 | 55 | msgctxt "#30107" 56 | msgid "Guide" 57 | msgstr "Rehber" 58 | 59 | msgctxt "#30108" 60 | msgid "Preference" 61 | msgstr "Tercih" 62 | 63 | msgctxt "#30111" 64 | msgid "Provider Only" 65 | msgstr "Sadece Sağlayıcı" 66 | 67 | msgctxt "#30112" 68 | msgid "XMLTV Only" 69 | msgstr "Sadece XMLTV" 70 | 71 | msgctxt "#30115" 72 | msgid "XMLTV" 73 | msgstr "XMLTV" 74 | 75 | msgctxt "#30116" 76 | msgid "Scope" 77 | msgstr "Faaliyet Alanı" 78 | 79 | msgctxt "#30117" 80 | msgid "Remote URL" 81 | msgstr "Uzaktan Bağlantı" 82 | 83 | msgctxt "#30118" 84 | msgid "Local Path" 85 | msgstr "Yerel Dizin" 86 | 87 | msgctxt "#30119" 88 | msgid "Advanced" 89 | msgstr "Gelişmiş" 90 | 91 | msgctxt "#30120" 92 | msgid "Token" 93 | msgstr "İşaret" 94 | 95 | msgctxt "#30121" 96 | msgid "Serial Number" 97 | msgstr "Seri Numarası" 98 | 99 | msgctxt "#30122" 100 | msgid "Device ID" 101 | msgstr "Aygıt Kimliği" 102 | 103 | msgctxt "#30123" 104 | msgid "Device ID2" 105 | msgstr "Aygıt Kimliği 2" 106 | 107 | msgctxt "#30124" 108 | msgid "Signature" 109 | msgstr "İmza" 110 | 111 | msgctxt "#31000" 112 | msgid "Portal 1" 113 | msgstr "Portal 1" 114 | 115 | msgctxt "#32000" 116 | msgid "Portal 2" 117 | msgstr "Portal 2" 118 | 119 | msgctxt "#33000" 120 | msgid "Portal 3" 121 | msgstr "Portal 3" 122 | 123 | msgctxt "#34000" 124 | msgid "Portal 4" 125 | msgstr "Portal 4" 126 | 127 | msgctxt "#35000" 128 | msgid "Portal 5" 129 | msgstr "Portal 5" 130 | -------------------------------------------------------------------------------- /src/SAPI.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | /* 4 | * Copyright (C) 2015, 2016 Jamal Edey 5 | * http://www.kenshisoft.com/ 6 | * 7 | * This program is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU General Public License 9 | * as published by the Free Software Foundation; either version 2 10 | * of the License, or (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with Kodi; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 20 | * 21 | * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html 22 | * 23 | */ 24 | 25 | #include 26 | 27 | #include 28 | 29 | #include "libstalkerclient/identity.h" 30 | #include "libstalkerclient/request.h" 31 | #include "Error.h" 32 | 33 | namespace SC { 34 | class SAPI { 35 | public: 36 | SAPI(); 37 | 38 | virtual ~SAPI(); 39 | 40 | virtual void SetIdentity(sc_identity_t *identity) { 41 | m_identity = identity; 42 | } 43 | 44 | virtual void SetEndpoint(const std::string &endpoint); 45 | 46 | virtual std::string GetBasePath() { 47 | return m_basePath; 48 | } 49 | 50 | virtual void SetTimeout(unsigned int timeout) { 51 | m_timeout = timeout; 52 | } 53 | 54 | virtual bool STBHandshake(Json::Value &parsed); 55 | 56 | virtual bool STBGetProfile(bool authSecondStep, Json::Value &parsed); 57 | 58 | virtual bool STBDoAuth(Json::Value &parsed); 59 | 60 | virtual bool ITVGetAllChannels(Json::Value &parsed); 61 | 62 | virtual bool ITVGetOrderedList(int genre, int page, Json::Value &parsed); 63 | 64 | virtual bool ITVCreateLink(std::string &cmd, Json::Value &parsed); 65 | 66 | virtual bool ITVGetGenres(Json::Value &parsed); 67 | 68 | virtual bool ITVGetEPGInfo(int period, Json::Value &parsed, const std::string &cacheFile = "", 69 | unsigned int cacheExpiry = 0); 70 | 71 | virtual SError WatchdogGetEvents(int curPlayType, int eventActiveId, Json::Value &parsed); 72 | 73 | protected: 74 | virtual SError StalkerCall(sc_param_params_t *params, Json::Value &parsed, const std::string &cacheFile = "", 75 | unsigned int cacheExpiry = 0); 76 | 77 | private: 78 | sc_identity_t *m_identity; 79 | std::string m_endpoint; 80 | std::string m_basePath; 81 | std::string m_referer; 82 | unsigned int m_timeout; 83 | }; 84 | } 85 | -------------------------------------------------------------------------------- /src/GuideManager.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | /* 4 | * Copyright (C) 2016 Jamal Edey 5 | * http://www.kenshisoft.com/ 6 | * 7 | * This program is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU General Public License 9 | * as published by the Free Software Foundation; either version 2 10 | * of the License, or (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with Kodi; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 20 | * 21 | * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html 22 | * 23 | */ 24 | 25 | #include 26 | 27 | #include "base/GuideManager.h" 28 | #include "client.h" 29 | #include "ChannelManager.h" 30 | #include "HTTPSocket.h" 31 | #include "SAPI.h" 32 | #include "Settings.h" 33 | #include "XMLTV.h" 34 | 35 | namespace SC { 36 | struct Event : Base::Event { 37 | std::string plot; 38 | std::string cast; 39 | std::string directors; 40 | std::string writers; 41 | int year = 0; 42 | std::string iconPath; 43 | int genreType = 0; 44 | std::string genreDescription; 45 | time_t firstAired = 0; 46 | int starRating = 0; 47 | int episodeNumber = 0; 48 | std::string episodeName; 49 | }; 50 | 51 | class GuideManager : public Base::GuideManager { 52 | public: 53 | GuideManager(); 54 | 55 | virtual ~GuideManager(); 56 | 57 | virtual void SetAPI(SAPI *api) { 58 | m_api = api; 59 | } 60 | 61 | virtual void SetGuidePreference(Settings::GuidePreference guidePreference) { 62 | m_guidePreference = guidePreference; 63 | } 64 | 65 | virtual void SetCacheOptions(bool useCache, unsigned int expiry) { 66 | m_useCache = useCache; 67 | m_expiry = expiry; 68 | } 69 | 70 | virtual SError LoadGuide(time_t start, time_t end); 71 | 72 | virtual SError LoadXMLTV(HTTPSocket::Scope scope, const std::string &path); 73 | 74 | virtual std::vector GetChannelEvents(Channel &channel, time_t start = 0, time_t end = 0); 75 | 76 | virtual void Clear(); 77 | 78 | private: 79 | int AddEvents(int type, std::vector &events, Channel &channel, time_t start, time_t end); 80 | 81 | SAPI *m_api; 82 | Settings::GuidePreference m_guidePreference; 83 | bool m_useCache; 84 | unsigned int m_expiry; 85 | std::shared_ptr m_xmltv; 86 | Json::Value m_epgData; 87 | }; 88 | } 89 | -------------------------------------------------------------------------------- /src/SData.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | /* 4 | * Copyright (C) 2015, 2016 Jamal Edey 5 | * http://www.kenshisoft.com/ 6 | * 7 | * This program is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU General Public License 9 | * as published by the Free Software Foundation; either version 2 10 | * of the License, or (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with Kodi; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 20 | * 21 | * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html 22 | * 23 | */ 24 | 25 | #include 26 | #include 27 | 28 | #include 29 | #include 30 | 31 | #include "libstalkerclient/identity.h" 32 | #include "libstalkerclient/stb.h" 33 | #include "base/Cache.h" 34 | #include "ChannelManager.h" 35 | #include "client.h" 36 | #include "CWatchdog.h" 37 | #include "Error.h" 38 | #include "GuideManager.h" 39 | #include "SAPI.h" 40 | #include "SessionManager.h" 41 | #include "Settings.h" 42 | #include "XMLTV.h" 43 | 44 | class SData : Base::Cache { 45 | public: 46 | SData(); 47 | 48 | virtual ~SData(); 49 | 50 | virtual bool ReloadSettings(); 51 | 52 | virtual PVR_ERROR GetEPGForChannel(ADDON_HANDLE handle, const PVR_CHANNEL &channel, time_t start, time_t anEnd); 53 | 54 | virtual int GetChannelGroupsAmount(); 55 | 56 | virtual PVR_ERROR GetChannelGroups(ADDON_HANDLE handle, bool radio); 57 | 58 | virtual PVR_ERROR GetChannelGroupMembers(ADDON_HANDLE handle, const PVR_CHANNEL_GROUP &group); 59 | 60 | virtual int GetChannelsAmount(); 61 | 62 | virtual PVR_ERROR GetChannels(ADDON_HANDLE handle, bool radio); 63 | 64 | virtual const char *GetChannelStreamURL(const PVR_CHANNEL &channel); 65 | 66 | SC::Settings settings; 67 | protected: 68 | virtual bool LoadCache(); 69 | 70 | virtual bool SaveCache(); 71 | 72 | virtual bool IsAuthenticated(); 73 | 74 | virtual SError Authenticate(); 75 | 76 | virtual void QueueErrorNotification(SError error); 77 | 78 | private: 79 | bool m_tokenManuallySet; 80 | time_t m_lastEpgAccessTime; 81 | time_t m_nextEpgLoadTime; 82 | sc_identity_t m_identity; 83 | sc_stb_profile_t m_profile; 84 | bool m_epgThreadActive; 85 | std::thread m_epgThread; 86 | P8PLATFORM::CMutex m_epgMutex; 87 | SC::SAPI *m_api; 88 | SC::SessionManager *m_sessionManager; 89 | SC::ChannelManager *m_channelManager; 90 | SC::GuideManager *m_guideManager; 91 | std::string m_currentPlaybackUrl; 92 | }; 93 | -------------------------------------------------------------------------------- /src/ChannelManager.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | /* 4 | * Copyright (C) 2016 Jamal Edey 5 | * http://www.kenshisoft.com/ 6 | * 7 | * This program is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU General Public License 9 | * as published by the Free Software Foundation; either version 2 10 | * of the License, or (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with Kodi; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 20 | * 21 | * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html 22 | * 23 | */ 24 | 25 | #include "base/ChannelManager.h" 26 | #include "Error.h" 27 | #include "SAPI.h" 28 | 29 | namespace SC { 30 | struct Channel : Base::Channel { 31 | std::string streamUrl; 32 | std::string iconPath; 33 | int channelId; 34 | std::string cmd; 35 | std::string tvGenreId; 36 | bool useHttpTmpLink; 37 | bool useLoadBalancing; 38 | }; 39 | 40 | struct ChannelGroup { 41 | std::string id; 42 | std::string name; 43 | std::string alias; 44 | }; 45 | 46 | class ChannelManager : public Base::ChannelManager { 47 | public: 48 | ChannelManager(); 49 | 50 | virtual ~ChannelManager(); 51 | 52 | virtual void SetAPI(SAPI *api) { 53 | m_api = api; 54 | } 55 | 56 | virtual SError LoadChannels(); 57 | 58 | virtual SError LoadChannelGroups(); 59 | 60 | virtual ChannelGroup *GetChannelGroup(const std::string &name) { 61 | std::vector::iterator cgIt; 62 | cgIt = std::find_if(m_channelGroups.begin(), m_channelGroups.end(), [&name](const ChannelGroup &cg) { 63 | return !cg.name.compare(name); 64 | }); 65 | return cgIt != m_channelGroups.end() ? &(*cgIt) : nullptr; 66 | } 67 | 68 | virtual std::vector GetChannelGroups() { 69 | return m_channelGroups; 70 | } 71 | 72 | virtual std::string GetStreamURL(Channel &channel); 73 | 74 | private: 75 | bool ParseChannels(Json::Value &parsed); 76 | 77 | //https://github.com/kodi-pvr/pvr.iptvsimple/blob/master/src/PVRIptvData.cpp#L1085 78 | int GetChannelId(const char *strChannelName, const char *strStreamUrl); 79 | 80 | bool ParseChannelGroups(Json::Value &parsed); 81 | 82 | std::string ParseStreamCmd(Json::Value &parsed); 83 | 84 | SAPI *m_api; 85 | std::vector m_channelGroups; 86 | }; 87 | } 88 | -------------------------------------------------------------------------------- /src/CWatchdog.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015, 2016 Jamal Edey 3 | * http://www.kenshisoft.com/ 4 | * 5 | * This program is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU General Public License 7 | * as published by the Free Software Foundation; either version 2 8 | * of the License, or (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Kodi; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 18 | * 19 | * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html 20 | * 21 | */ 22 | 23 | #include "CWatchdog.h" 24 | 25 | #include "client.h" 26 | 27 | #if defined(_WIN32) || defined(_WIN64) 28 | #define usleep(usec) Sleep((DWORD)(usec)/1000) 29 | #else 30 | #include 31 | #endif 32 | 33 | using namespace ADDON; 34 | using namespace SC; 35 | 36 | CWatchdog::CWatchdog(uint32_t interval, SAPI *api, std::function errorCallback) 37 | : m_interval(interval), m_api(api), m_errorCallback(errorCallback), m_threadActive(false) { 38 | } 39 | 40 | CWatchdog::~CWatchdog() { 41 | Stop(); 42 | } 43 | 44 | void CWatchdog::Start() { 45 | m_threadActive = true; 46 | m_thread = std::thread([this] { 47 | Process(); 48 | }); 49 | } 50 | 51 | void CWatchdog::Stop() { 52 | m_threadActive = false; 53 | if (m_thread.joinable()) 54 | m_thread.join(); 55 | } 56 | 57 | void CWatchdog::Process() { 58 | XBMC->Log(LOG_DEBUG, "%s: start", __FUNCTION__); 59 | 60 | int curPlayType; 61 | int eventActiveId; 62 | Json::Value parsed; 63 | SError ret; 64 | unsigned int target(m_interval * 1000); 65 | unsigned int count; 66 | 67 | while (m_threadActive) { 68 | // hardcode values for now 69 | curPlayType = 1; // tv 70 | eventActiveId = 0; 71 | 72 | ret = m_api->WatchdogGetEvents(curPlayType, eventActiveId, parsed); 73 | if (ret != SERROR_OK) { 74 | XBMC->Log(LOG_ERROR, "%s: WatchdogGetEvents failed", __FUNCTION__); 75 | 76 | if (m_errorCallback != nullptr) 77 | m_errorCallback(ret); 78 | } 79 | 80 | // ignore the result. don't confirm events (yet) 81 | 82 | parsed.clear(); 83 | 84 | count = 0; 85 | while (count < target) { 86 | usleep(100000); 87 | if (!m_threadActive) 88 | break; 89 | count += 100; 90 | } 91 | } 92 | 93 | XBMC->Log(LOG_DEBUG, "%s: stop", __FUNCTION__); 94 | } 95 | -------------------------------------------------------------------------------- /src/SessionManager.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | /* 4 | * Copyright (C) 2016 Jamal Edey 5 | * http://www.kenshisoft.com/ 6 | * 7 | * This program is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU General Public License 9 | * as published by the Free Software Foundation; either version 2 10 | * of the License, or (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with Kodi; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 20 | * 21 | * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html 22 | * 23 | */ 24 | 25 | #include 26 | 27 | #include "libstalkerclient/stb.h" 28 | #include "CWatchdog.h" 29 | #include "Error.h" 30 | #include "SAPI.h" 31 | 32 | namespace SC { 33 | class SessionManager { 34 | public: 35 | SessionManager(); 36 | 37 | virtual ~SessionManager(); 38 | 39 | virtual void SetIdentity(sc_identity_t *identity, bool hasUserDefinedToken = false) { 40 | m_identity = identity; 41 | m_hasUserDefinedToken = hasUserDefinedToken; 42 | } 43 | 44 | virtual void SetProfile(sc_stb_profile_t *profile) { 45 | m_profile = profile; 46 | } 47 | 48 | virtual void SetAPI(SAPI *api) { 49 | m_api = api; 50 | } 51 | 52 | virtual void SetStatusCallback(std::function statusCallback) { 53 | m_statusCallback = statusCallback; 54 | } 55 | 56 | virtual std::string GetLastUnknownError() { 57 | std::string tmp = m_lastUnknownError; 58 | m_lastUnknownError.clear(); 59 | return tmp; 60 | } 61 | 62 | virtual bool IsAuthenticated() { 63 | return m_authenticated && !m_isAuthenticating; 64 | } 65 | 66 | virtual SError Authenticate(); 67 | 68 | private: 69 | SError DoHandshake(); 70 | 71 | SError DoAuth(); 72 | 73 | SError GetProfile(bool authSecondStep = false); 74 | 75 | void StartAuthInvoker(); 76 | 77 | void StopAuthInvoker(); 78 | 79 | void StartWatchdog(); 80 | 81 | void StopWatchdog(); 82 | 83 | sc_identity_t *m_identity; 84 | bool m_hasUserDefinedToken; 85 | sc_stb_profile_t *m_profile; 86 | SAPI *m_api; 87 | std::function m_statusCallback; 88 | std::string m_lastUnknownError; 89 | bool m_authenticated; 90 | bool m_isAuthenticating; 91 | std::mutex m_authMutex; 92 | CWatchdog *m_watchdog; 93 | bool m_threadActive; 94 | std::thread m_thread; 95 | }; 96 | } 97 | -------------------------------------------------------------------------------- /src/Settings.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | /* 4 | * Copyright (C) 2016 Jamal Edey 5 | * http://www.kenshisoft.com/ 6 | * 7 | * This program is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU General Public License 9 | * as published by the Free Software Foundation; either version 2 10 | * of the License, or (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with Kodi; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 20 | * 21 | * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html 22 | * 23 | */ 24 | 25 | #include 26 | 27 | #include "HTTPSocket.h" 28 | 29 | #define SC_SETTINGS_DEFAULT_ACTIVE_PORTAL 0 30 | #define SC_SETTINGS_DEFAULT_MAC "00:1A:79:00:00:00" 31 | #define SC_SETTINGS_DEFAULT_SERVER "127.0.0.1" 32 | #define SC_SETTINGS_DEFAULT_TIME_ZONE "Europe/Kiev" 33 | #define SC_SETTINGS_DEFAULT_LOGIN "" 34 | #define SC_SETTINGS_DEFAULT_PASSWORD "" 35 | #define SC_SETTINGS_DEFAULT_CONNECTION_TIMEOUT 1 // 5 seconds 36 | #define SC_SETTINGS_DEFAULT_GUIDE_PREFERENCE 0 // prefer provider 37 | #define SC_SETTINGS_DEFAULT_GUIDE_CACHE 1 // true 38 | #define SC_SETTINGS_DEFAULT_GUIDE_CACHE_HOURS 24 39 | #define SC_SETTINGS_DEFAULT_XMLTV_SCOPE 0 // remote url 40 | #define SC_SETTINGS_DEFAULT_XMLTV_URL "" 41 | #define SC_SETTINGS_DEFAULT_XMLTV_PATH "" 42 | #define SC_SETTINGS_DEFAULT_TOKEN "" 43 | #define SC_SETTINGS_DEFAULT_SERIAL_NUMBER "" 44 | #define SC_SETTINGS_DEFAULT_DEVICE_ID "" 45 | #define SC_SETTINGS_DEFAULT_DEVICE_ID2 "" 46 | #define SC_SETTINGS_DEFAULT_SIGNATURE "" 47 | 48 | namespace SC { 49 | class Settings { 50 | public: 51 | typedef enum { 52 | GUIDE_PREFERENCE_PREFER_PROVIDER, 53 | GUIDE_PREFERENCE_PREFER_XMLTV, 54 | GUIDE_PREFERENCE_PROVIDER_ONLY, 55 | GUIDE_PREFERENCE_XMLTV_ONLY 56 | } GuidePreference; 57 | 58 | int activePortal; 59 | std::string mac; 60 | std::string server; 61 | std::string timeZone; 62 | std::string login; 63 | std::string password; 64 | unsigned int connectionTimeout; 65 | GuidePreference guidePreference; 66 | bool guideCache; 67 | unsigned int guideCacheHours; 68 | HTTPSocket::Scope xmltvScope; 69 | std::string xmltvPath; 70 | std::string token; 71 | std::string serialNumber; 72 | std::string deviceId; 73 | std::string deviceId2; 74 | std::string signature; 75 | }; 76 | } 77 | -------------------------------------------------------------------------------- /src/base/Cache.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Jamal Edey 3 | * http://www.kenshisoft.com/ 4 | * 5 | * This program is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU General Public License 7 | * as published by the Free Software Foundation; either version 2 8 | * of the License, or (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Kodi; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 18 | * 19 | * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html 20 | * 21 | */ 22 | 23 | #include "Cache.h" 24 | 25 | using namespace Base; 26 | 27 | Cache::Cache() { 28 | } 29 | 30 | Cache::~Cache() { 31 | } 32 | 33 | bool Cache::Open(const std::string &cacheFile, xmlDocPtr &doc, xmlNodePtr &rootNode, const std::string &rootNodeName) { 34 | bool failed(false); 35 | doc = xmlReadFile(cacheFile.c_str(), NULL, 0); 36 | if (!doc) { 37 | // fprintf(stderr, "%s: failed to read cache file", __FUNCTION__); 38 | failed = true; 39 | } else { 40 | rootNode = xmlDocGetRootElement(doc); 41 | if (!rootNode || xmlStrcmp(rootNode->name, (const xmlChar *) rootNodeName.c_str())) { 42 | // fprintf(stderr, "%s: 'cache' root element not found", __FUNCTION__); 43 | failed = true; 44 | } 45 | } 46 | return !failed; 47 | } 48 | 49 | xmlNodePtr Cache::FindNodeByName(xmlNodePtr &startNode, const xmlChar *name) { 50 | xmlNodePtr node = NULL; 51 | for (node = startNode; node; node = node->next) { 52 | // fprintf(stderr, "%s: name=%s\n", __FUNCTION__, node->name); 53 | if (!xmlStrcmp(node->name, name)) { 54 | return node; 55 | } 56 | } 57 | return NULL; 58 | } 59 | 60 | xmlNodePtr Cache::FindAndGetNodeValue(xmlNodePtr &parentNode, const xmlChar *name, std::string &value) { 61 | xmlNodePtr node = NULL; 62 | node = FindNodeByName(parentNode->children, name); 63 | if (!node) { 64 | // fprintf(stderr, "%s: '%s' element not found\n", __FUNCTION__, name); 65 | } else { 66 | xmlChar *val = NULL; 67 | val = xmlNodeGetContent(node); 68 | if (val) { 69 | value = (const char *) val; 70 | } 71 | xmlFree(val); 72 | } 73 | return node; 74 | } 75 | 76 | xmlNodePtr Cache::FindAndSetNodeValue(xmlNodePtr &parentNode, const xmlChar *name, const xmlChar *value) { 77 | xmlNodePtr node = NULL; 78 | node = FindNodeByName(parentNode->children, name); 79 | if (!node) { 80 | node = xmlNewChild(parentNode, NULL, name, NULL); 81 | } 82 | xmlNodeSetContent(node, value); 83 | return node; 84 | } 85 | -------------------------------------------------------------------------------- /pvr.stalker/resources/language/resource.language.da_dk/strings.po: -------------------------------------------------------------------------------- 1 | # Kodi Media Center language file 2 | # Addon Name: Stalker Client 3 | # Addon id: pvr.stalker 4 | # Addon Provider: Jamal Edey 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: KODI Main\n" 8 | "Report-Msgid-Bugs-To: http://trac.kodi.tv/\n" 9 | "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" 10 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 11 | "Last-Translator: Kodi Translation Team\n" 12 | "Language-Team: Danish (Denmark) (http://www.transifex.com/projects/p/kodi-main/language/da_DK/)\n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: 8bit\n" 16 | "Language: da_DK\n" 17 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 18 | 19 | msgctxt "#30000" 20 | msgid "General" 21 | msgstr "Generelt" 22 | 23 | msgctxt "#30001" 24 | msgid "Active Portal" 25 | msgstr "Aktiv portal" 26 | 27 | msgctxt "#30002" 28 | msgid "Misc" 29 | msgstr "Diverse" 30 | 31 | msgctxt "#30101" 32 | msgid "MAC Address" 33 | msgstr "MAC-adresse" 34 | 35 | msgctxt "#30102" 36 | msgid "Server Address" 37 | msgstr "Serveradresse" 38 | 39 | msgctxt "#30103" 40 | msgid "Time Zone" 41 | msgstr "Tidszone" 42 | 43 | msgctxt "#30104" 44 | msgid "Auth Credentials" 45 | msgstr "Loginoplysninger" 46 | 47 | msgctxt "#30105" 48 | msgid "Login" 49 | msgstr "Brugernavn" 50 | 51 | msgctxt "#30106" 52 | msgid "Password" 53 | msgstr "Adgangskode" 54 | 55 | msgctxt "#30107" 56 | msgid "Guide" 57 | msgstr "Guide" 58 | 59 | msgctxt "#30108" 60 | msgid "Preference" 61 | msgstr "Foretrukken tilstand" 62 | 63 | msgctxt "#30109" 64 | msgid "Prefer Provider" 65 | msgstr "Foretrukken leverandør" 66 | 67 | msgctxt "#30110" 68 | msgid "Prefer XMLTV" 69 | msgstr "Foretræk XMLTV" 70 | 71 | msgctxt "#30111" 72 | msgid "Provider Only" 73 | msgstr "Kun leverandør" 74 | 75 | msgctxt "#30112" 76 | msgid "XMLTV Only" 77 | msgstr "Kun XMLTV" 78 | 79 | msgctxt "#30115" 80 | msgid "XMLTV" 81 | msgstr "XMLTV" 82 | 83 | msgctxt "#30116" 84 | msgid "Scope" 85 | msgstr "Scope" 86 | 87 | msgctxt "#30117" 88 | msgid "Remote URL" 89 | msgstr "Fjern sti" 90 | 91 | msgctxt "#30118" 92 | msgid "Local Path" 93 | msgstr "Lokal sti" 94 | 95 | msgctxt "#30119" 96 | msgid "Advanced" 97 | msgstr "Avanceret" 98 | 99 | msgctxt "#30120" 100 | msgid "Token" 101 | msgstr "Token" 102 | 103 | msgctxt "#30121" 104 | msgid "Serial Number" 105 | msgstr "Serienummer" 106 | 107 | msgctxt "#30122" 108 | msgid "Device ID" 109 | msgstr "Enheds ID" 110 | 111 | msgctxt "#30123" 112 | msgid "Device ID2" 113 | msgstr "Enheds ID2" 114 | 115 | msgctxt "#30124" 116 | msgid "Signature" 117 | msgstr "Signature" 118 | 119 | msgctxt "#31000" 120 | msgid "Portal 1" 121 | msgstr "Portal 1" 122 | 123 | msgctxt "#32000" 124 | msgid "Portal 2" 125 | msgstr "Portal 2" 126 | 127 | msgctxt "#33000" 128 | msgid "Portal 3" 129 | msgstr "Portal 3" 130 | 131 | msgctxt "#34000" 132 | msgid "Portal 4" 133 | msgstr "Portal 4" 134 | 135 | msgctxt "#35000" 136 | msgid "Portal 5" 137 | msgstr "Portal 5" 138 | -------------------------------------------------------------------------------- /pvr.stalker/resources/language/resource.language.id_id/strings.po: -------------------------------------------------------------------------------- 1 | # Kodi Media Center language file 2 | # Addon Name: Stalker Client 3 | # Addon id: pvr.stalker 4 | # Addon Provider: Jamal Edey 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: KODI Main\n" 8 | "Report-Msgid-Bugs-To: http://trac.kodi.tv/\n" 9 | "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" 10 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 11 | "Last-Translator: Kodi Translation Team\n" 12 | "Language-Team: Indonesian (Indonesia) (http://www.transifex.com/projects/p/kodi-main/language/id_ID/)\n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: 8bit\n" 16 | "Language: id_ID\n" 17 | "Plural-Forms: nplurals=1; plural=0;\n" 18 | 19 | msgctxt "#30000" 20 | msgid "General" 21 | msgstr "Umum" 22 | 23 | msgctxt "#30001" 24 | msgid "Active Portal" 25 | msgstr "Portal aktif" 26 | 27 | msgctxt "#30002" 28 | msgid "Misc" 29 | msgstr "Misc" 30 | 31 | msgctxt "#30101" 32 | msgid "MAC Address" 33 | msgstr "Alamat MAC" 34 | 35 | msgctxt "#30102" 36 | msgid "Server Address" 37 | msgstr "Alamat Server" 38 | 39 | msgctxt "#30103" 40 | msgid "Time Zone" 41 | msgstr "Zona Waktu" 42 | 43 | msgctxt "#30104" 44 | msgid "Auth Credentials" 45 | msgstr "Auth Credentials " 46 | 47 | msgctxt "#30105" 48 | msgid "Login" 49 | msgstr "Masuk" 50 | 51 | msgctxt "#30106" 52 | msgid "Password" 53 | msgstr "Kata sandi" 54 | 55 | msgctxt "#30107" 56 | msgid "Guide" 57 | msgstr "Panduan" 58 | 59 | msgctxt "#30108" 60 | msgid "Preference" 61 | msgstr "Pilihan" 62 | 63 | msgctxt "#30109" 64 | msgid "Prefer Provider" 65 | msgstr "Memilih Provider" 66 | 67 | msgctxt "#30110" 68 | msgid "Prefer XMLTV" 69 | msgstr "Memilih XMLTV " 70 | 71 | msgctxt "#30111" 72 | msgid "Provider Only" 73 | msgstr "Hanya penyedia " 74 | 75 | msgctxt "#30112" 76 | msgid "XMLTV Only" 77 | msgstr "Hanya XMLTV" 78 | 79 | msgctxt "#30115" 80 | msgid "XMLTV" 81 | msgstr "XMLTV" 82 | 83 | msgctxt "#30116" 84 | msgid "Scope" 85 | msgstr "Cakupan" 86 | 87 | msgctxt "#30117" 88 | msgid "Remote URL" 89 | msgstr "Remote URL " 90 | 91 | msgctxt "#30118" 92 | msgid "Local Path" 93 | msgstr "Local Path " 94 | 95 | msgctxt "#30119" 96 | msgid "Advanced" 97 | msgstr "Advanced " 98 | 99 | msgctxt "#30120" 100 | msgid "Token" 101 | msgstr "Token" 102 | 103 | msgctxt "#30121" 104 | msgid "Serial Number" 105 | msgstr "Nomor Seri" 106 | 107 | msgctxt "#30122" 108 | msgid "Device ID" 109 | msgstr "Identitas Perangkat" 110 | 111 | msgctxt "#30123" 112 | msgid "Device ID2" 113 | msgstr "Identitas Perangkat2" 114 | 115 | msgctxt "#30124" 116 | msgid "Signature" 117 | msgstr "Signature " 118 | 119 | msgctxt "#31000" 120 | msgid "Portal 1" 121 | msgstr "Portal 1" 122 | 123 | msgctxt "#32000" 124 | msgid "Portal 2" 125 | msgstr "Portal 2" 126 | 127 | msgctxt "#33000" 128 | msgid "Portal 3" 129 | msgstr "Portal 3" 130 | 131 | msgctxt "#34000" 132 | msgid "Portal 4" 133 | msgstr "Portal 4" 134 | 135 | msgctxt "#35000" 136 | msgid "Portal 5" 137 | msgstr "Portal 5" 138 | -------------------------------------------------------------------------------- /pvr.stalker/resources/language/resource.language.es_mx/strings.po: -------------------------------------------------------------------------------- 1 | # Kodi Media Center language file 2 | # Addon Name: Stalker Client 3 | # Addon id: pvr.stalker 4 | # Addon Provider: Jamal Edey 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: KODI Main\n" 8 | "Report-Msgid-Bugs-To: http://trac.kodi.tv/\n" 9 | "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" 10 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 11 | "Last-Translator: Kodi Translation Team\n" 12 | "Language-Team: Spanish (Mexico) (http://www.transifex.com/projects/p/kodi-main/language/es_MX/)\n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: 8bit\n" 16 | "Language: es_MX\n" 17 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 18 | 19 | msgctxt "#30000" 20 | msgid "General" 21 | msgstr "General" 22 | 23 | msgctxt "#30001" 24 | msgid "Active Portal" 25 | msgstr "Portal Activo" 26 | 27 | msgctxt "#30002" 28 | msgid "Misc" 29 | msgstr "Misc" 30 | 31 | msgctxt "#30101" 32 | msgid "MAC Address" 33 | msgstr "Dirección MAC" 34 | 35 | msgctxt "#30102" 36 | msgid "Server Address" 37 | msgstr "Dirección del servidor" 38 | 39 | msgctxt "#30103" 40 | msgid "Time Zone" 41 | msgstr "Zona horaria" 42 | 43 | msgctxt "#30104" 44 | msgid "Auth Credentials" 45 | msgstr "Credenciales de autenticación " 46 | 47 | msgctxt "#30105" 48 | msgid "Login" 49 | msgstr "iniciar sesión" 50 | 51 | msgctxt "#30106" 52 | msgid "Password" 53 | msgstr "contraseña" 54 | 55 | msgctxt "#30107" 56 | msgid "Guide" 57 | msgstr "Guia " 58 | 59 | msgctxt "#30108" 60 | msgid "Preference" 61 | msgstr "Preferencia" 62 | 63 | msgctxt "#30109" 64 | msgid "Prefer Provider" 65 | msgstr "Proveedor preferido" 66 | 67 | msgctxt "#30110" 68 | msgid "Prefer XMLTV" 69 | msgstr "XMLTV preferido" 70 | 71 | msgctxt "#30111" 72 | msgid "Provider Only" 73 | msgstr "Solo proveedor" 74 | 75 | msgctxt "#30112" 76 | msgid "XMLTV Only" 77 | msgstr "Solo XMLTV" 78 | 79 | msgctxt "#30115" 80 | msgid "XMLTV" 81 | msgstr "XMLTV" 82 | 83 | msgctxt "#30116" 84 | msgid "Scope" 85 | msgstr "Alcance" 86 | 87 | msgctxt "#30117" 88 | msgid "Remote URL" 89 | msgstr "URL Remota" 90 | 91 | msgctxt "#30118" 92 | msgid "Local Path" 93 | msgstr "Ruta de acceso local" 94 | 95 | msgctxt "#30119" 96 | msgid "Advanced" 97 | msgstr "Avanzado" 98 | 99 | msgctxt "#30120" 100 | msgid "Token" 101 | msgstr "Token" 102 | 103 | msgctxt "#30121" 104 | msgid "Serial Number" 105 | msgstr "Numero de serie" 106 | 107 | msgctxt "#30122" 108 | msgid "Device ID" 109 | msgstr "ID de dispositivo" 110 | 111 | msgctxt "#30123" 112 | msgid "Device ID2" 113 | msgstr "ID2 de dispositivo" 114 | 115 | msgctxt "#30124" 116 | msgid "Signature" 117 | msgstr "Firma" 118 | 119 | msgctxt "#31000" 120 | msgid "Portal 1" 121 | msgstr "Portal 1" 122 | 123 | msgctxt "#32000" 124 | msgid "Portal 2" 125 | msgstr "Portal 2" 126 | 127 | msgctxt "#33000" 128 | msgid "Portal 3" 129 | msgstr "Portal 3" 130 | 131 | msgctxt "#34000" 132 | msgid "Portal 4" 133 | msgstr "Portal 4" 134 | 135 | msgctxt "#35000" 136 | msgid "Portal 5" 137 | msgstr "Portal 5" 138 | -------------------------------------------------------------------------------- /pvr.stalker/resources/language/resource.language.ca_es/strings.po: -------------------------------------------------------------------------------- 1 | # Kodi Media Center language file 2 | # Addon Name: Stalker Client 3 | # Addon id: pvr.stalker 4 | # Addon Provider: Jamal Edey 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: KODI Main\n" 8 | "Report-Msgid-Bugs-To: http://trac.kodi.tv/\n" 9 | "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" 10 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 11 | "Last-Translator: Kodi Translation Team\n" 12 | "Language-Team: Catalan (Spain) (http://www.transifex.com/projects/p/kodi-main/language/ca_ES/)\n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: 8bit\n" 16 | "Language: ca_ES\n" 17 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 18 | 19 | msgctxt "#30000" 20 | msgid "General" 21 | msgstr "General" 22 | 23 | msgctxt "#30001" 24 | msgid "Active Portal" 25 | msgstr "Portal Actiu" 26 | 27 | msgctxt "#30002" 28 | msgid "Misc" 29 | msgstr "Uns altres" 30 | 31 | msgctxt "#30101" 32 | msgid "MAC Address" 33 | msgstr "Adreça MAC" 34 | 35 | msgctxt "#30102" 36 | msgid "Server Address" 37 | msgstr "Adreça del Servidor" 38 | 39 | msgctxt "#30103" 40 | msgid "Time Zone" 41 | msgstr "Zona horària" 42 | 43 | msgctxt "#30104" 44 | msgid "Auth Credentials" 45 | msgstr "Credencials d'usuari" 46 | 47 | msgctxt "#30105" 48 | msgid "Login" 49 | msgstr "Inici de sessió" 50 | 51 | msgctxt "#30106" 52 | msgid "Password" 53 | msgstr "Contrasenya" 54 | 55 | msgctxt "#30107" 56 | msgid "Guide" 57 | msgstr "Guia" 58 | 59 | msgctxt "#30108" 60 | msgid "Preference" 61 | msgstr "Preferència" 62 | 63 | msgctxt "#30109" 64 | msgid "Prefer Provider" 65 | msgstr "Proveïdor preferit" 66 | 67 | msgctxt "#30110" 68 | msgid "Prefer XMLTV" 69 | msgstr "XMLTV preferit" 70 | 71 | msgctxt "#30111" 72 | msgid "Provider Only" 73 | msgstr "Proveïdor únic" 74 | 75 | msgctxt "#30112" 76 | msgid "XMLTV Only" 77 | msgstr "Solament XMLTV" 78 | 79 | msgctxt "#30115" 80 | msgid "XMLTV" 81 | msgstr "XMLTV" 82 | 83 | msgctxt "#30116" 84 | msgid "Scope" 85 | msgstr "Àmbit" 86 | 87 | msgctxt "#30117" 88 | msgid "Remote URL" 89 | msgstr "URL remot" 90 | 91 | msgctxt "#30118" 92 | msgid "Local Path" 93 | msgstr "Ruta local" 94 | 95 | msgctxt "#30119" 96 | msgid "Advanced" 97 | msgstr "Avançat" 98 | 99 | msgctxt "#30120" 100 | msgid "Token" 101 | msgstr "símbol" 102 | 103 | msgctxt "#30121" 104 | msgid "Serial Number" 105 | msgstr "Número de serial" 106 | 107 | msgctxt "#30122" 108 | msgid "Device ID" 109 | msgstr "Identificador de dispositiu" 110 | 111 | msgctxt "#30123" 112 | msgid "Device ID2" 113 | msgstr "Identificador de dispositiu2" 114 | 115 | msgctxt "#30124" 116 | msgid "Signature" 117 | msgstr "Signatura" 118 | 119 | msgctxt "#31000" 120 | msgid "Portal 1" 121 | msgstr "Portal 1" 122 | 123 | msgctxt "#32000" 124 | msgid "Portal 2" 125 | msgstr "Portal 2" 126 | 127 | msgctxt "#33000" 128 | msgid "Portal 3" 129 | msgstr "Portal 3" 130 | 131 | msgctxt "#34000" 132 | msgid "Portal 4" 133 | msgstr "Portal 4" 134 | 135 | msgctxt "#35000" 136 | msgid "Portal 5" 137 | msgstr "Portal 5" 138 | -------------------------------------------------------------------------------- /pvr.stalker/resources/language/resource.language.sl_si/strings.po: -------------------------------------------------------------------------------- 1 | # Kodi Media Center language file 2 | # Addon Name: Stalker Client 3 | # Addon id: pvr.stalker 4 | # Addon Provider: Jamal Edey 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: KODI Main\n" 8 | "Report-Msgid-Bugs-To: http://trac.kodi.tv/\n" 9 | "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" 10 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 11 | "Last-Translator: Kodi Translation Team\n" 12 | "Language-Team: Slovenian (Slovenia) (http://www.transifex.com/projects/p/kodi-main/language/sl_SI/)\n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: 8bit\n" 16 | "Language: sl_SI\n" 17 | "Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" 18 | 19 | msgctxt "#30000" 20 | msgid "General" 21 | msgstr "Splošno" 22 | 23 | msgctxt "#30001" 24 | msgid "Active Portal" 25 | msgstr "Dejavni portal" 26 | 27 | msgctxt "#30002" 28 | msgid "Misc" 29 | msgstr "Razno" 30 | 31 | msgctxt "#30101" 32 | msgid "MAC Address" 33 | msgstr "Naslov MAC" 34 | 35 | msgctxt "#30102" 36 | msgid "Server Address" 37 | msgstr "Naslov strežnika" 38 | 39 | msgctxt "#30103" 40 | msgid "Time Zone" 41 | msgstr "Časovni pas" 42 | 43 | msgctxt "#30104" 44 | msgid "Auth Credentials" 45 | msgstr "Dokazila za overjanje" 46 | 47 | msgctxt "#30105" 48 | msgid "Login" 49 | msgstr "Prijava" 50 | 51 | msgctxt "#30106" 52 | msgid "Password" 53 | msgstr "Geslo" 54 | 55 | msgctxt "#30107" 56 | msgid "Guide" 57 | msgstr "Vodnik" 58 | 59 | msgctxt "#30108" 60 | msgid "Preference" 61 | msgstr "Nastavitev" 62 | 63 | msgctxt "#30109" 64 | msgid "Prefer Provider" 65 | msgstr "Prednost ima ponudnik" 66 | 67 | msgctxt "#30110" 68 | msgid "Prefer XMLTV" 69 | msgstr "Prednost ima XMLTV" 70 | 71 | msgctxt "#30111" 72 | msgid "Provider Only" 73 | msgstr "Samo ponudnik" 74 | 75 | msgctxt "#30112" 76 | msgid "XMLTV Only" 77 | msgstr "Samo XMLTV" 78 | 79 | msgctxt "#30115" 80 | msgid "XMLTV" 81 | msgstr "XMLTV" 82 | 83 | msgctxt "#30116" 84 | msgid "Scope" 85 | msgstr "Obseg" 86 | 87 | msgctxt "#30117" 88 | msgid "Remote URL" 89 | msgstr "Oddaljeni URL" 90 | 91 | msgctxt "#30118" 92 | msgid "Local Path" 93 | msgstr "Krajevna pot" 94 | 95 | msgctxt "#30119" 96 | msgid "Advanced" 97 | msgstr "Napredno" 98 | 99 | msgctxt "#30120" 100 | msgid "Token" 101 | msgstr "Žeton" 102 | 103 | msgctxt "#30121" 104 | msgid "Serial Number" 105 | msgstr "Serijska številka" 106 | 107 | msgctxt "#30122" 108 | msgid "Device ID" 109 | msgstr "ID naprave" 110 | 111 | msgctxt "#30123" 112 | msgid "Device ID2" 113 | msgstr "ID2 naprave" 114 | 115 | msgctxt "#30124" 116 | msgid "Signature" 117 | msgstr "Podpis" 118 | 119 | msgctxt "#31000" 120 | msgid "Portal 1" 121 | msgstr "Portal 1" 122 | 123 | msgctxt "#32000" 124 | msgid "Portal 2" 125 | msgstr "Portal 2" 126 | 127 | msgctxt "#33000" 128 | msgid "Portal 3" 129 | msgstr "Portal 3" 130 | 131 | msgctxt "#34000" 132 | msgid "Portal 4" 133 | msgstr "Portal 4" 134 | 135 | msgctxt "#35000" 136 | msgid "Portal 5" 137 | msgstr "Portal 5" 138 | -------------------------------------------------------------------------------- /pvr.stalker/changelog.txt: -------------------------------------------------------------------------------- 1 | 2.7.1 (20-08-2016) 2 | - updated language files from Transifex 3 | 2.7.0 (22-07-2016) 4 | - revision 5 | 6 | 2.6.3 (21-07-2016) 7 | - updated language files from Transifex 8 | 9 | 2.6.2 (17-07-2016) 10 | - revision 11 | 12 | 2.6.1 (16-07-2016) 13 | - revision 14 | 15 | 2.6.0 (04-07-2016) 16 | - added per portal token caching 17 | 18 | 2.5.1 (18-06-2016) 19 | - updated language files from Transifex 20 | 21 | 2.5.0 (20-05-2016) 22 | - [XMLTV] replaced tinyxml with libxml2 23 | 24 | 2.4.0 (18-05-2016) 25 | - Cmake: rename find_package kodi to Kodi 26 | 27 | 2.3.2 (13-05-2016) 28 | - Fix includes 29 | 30 | 2.3.1 (11-05-2016) 31 | - [HTTP] refactor 32 | 33 | 2.3.0 (22-04-2016) 34 | - Updated to PVR addon API v5.2.0 35 | 36 | 2.2.1 (23-03-2016) 37 | - bug fixes 38 | 39 | 2.2.0 (08-03-2016) 40 | - Updated to PVR addon API v5.1.0 41 | 42 | 2.1.0 (14-02-2016) 43 | - Updated to PVR addon API v5.0.0 44 | 45 | 2.0.2 (25-01-2016) 46 | - Updated to PVR API v4.2.0 47 | 48 | 2.0.1 (23-01-2016) 49 | - updated language files from Transifex 50 | 51 | 2.0.0 (17-01-2016) 52 | - Initial Kodi Krypton version. 53 | 54 | 1.0.3 (10-01-2016) 55 | - updated language files from Transifex 56 | 57 | 1.0.2 (03-01-2016) 58 | - updated language files from Transifex 59 | 60 | 1.0.1 (08-12-2015) 61 | - updated language files from Transifex 62 | 63 | 1.0.0 (05-12-2015) 64 | - Added support for caching EPG data 65 | - Added support for 'matrix' CMDs/URLs 66 | - Enabled stream pausing and seeking 67 | - [XMLTV] Fixed incorrectly determined UTC times 68 | - [XMLTV] Fixed potential incorrect reading of programme episode numbers 69 | - Removed support for following initial portal redirect 70 | - General fixes and improvements 71 | 72 | 0.9.7 (19-09-2015) 73 | - Updated to PVR API v4.1.0 74 | 75 | 0.9.6 (09-09-2015) 76 | - Updated to PVR API v4.0.0 77 | 78 | 0.9.5 (08-21-2015) 79 | - improved error notifications 80 | - connection timeout fixes 81 | - auto re-authentication when authorization is lost 82 | - other minor tweaks and improvements 83 | 84 | 0.9.4 (03-08-2015) 85 | - Updated to PVR API v3.0.0 (API 1.9.7 Compatibility Mode) 86 | 87 | 0.9.3 (19-07-2015) 88 | - Updated to PVR API v2.1.0 89 | - Automatically fill in platform and library name 90 | 91 | 0.9.2 (17-07-2015) 92 | - Debian packaging: fix library install path 93 | - Miscellaneous backend fixes 94 | 95 | 0.9.1 (07-04-2015) 96 | - updated to PVR API version 2.0.0 97 | 98 | 0.9.0 (07-03-2015) 99 | - updated to PVR API version 1.9.7 100 | 101 | 0.8.1 (06-28-2015) 102 | - updated language files from Transifex 103 | 104 | 0.8.0 (05-24-2015) 105 | - added XMLTV support 106 | - added multi-portal support 107 | - added support for portals with user authentication 108 | - various fixes and improvements 109 | 110 | 0.7.1 (05-05-2015) 111 | - updated to use new libplatform-dev 112 | 113 | 0.7.0 (04-30-2015) 114 | - updated to PVR API version 1.9.6 115 | - isengard related changes 116 | 117 | 0.6 (04-15-2015) 118 | - added epg support 119 | - added channel group support 120 | - added channel logos support 121 | - better support for differently formatted stream urls 122 | 123 | 0.5 (03-10-2015) 124 | - gui error notifications 125 | - additional channels 126 | - better combatitility in some areas 127 | - stability fixes 128 | 129 | 0.3 (02-23-2015) 130 | - stability fixes 131 | - cross platform support 132 | 133 | 0.1 (02-16-2015) 134 | - initial release 135 | -------------------------------------------------------------------------------- /lib/libstalkerclient/xmltv.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015, 2016 Jamal Edey 3 | * http://www.kenshisoft.com/ 4 | * 5 | * This program is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU General Public License 7 | * as published by the Free Software Foundation; either version 2 8 | * of the License, or (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Kodi; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 18 | * 19 | * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html 20 | * 21 | */ 22 | 23 | #ifndef XMLTV_H 24 | #define XMLTV_H 25 | 26 | #include 27 | #include 28 | 29 | #include 30 | 31 | #include "list.h" 32 | 33 | #if defined(_MSC_VER) && _MSC_VER >= 1900 34 | #define timezone _timezone 35 | #endif 36 | 37 | #define SC_XMLTV_CHANNEL_NAME "channel" 38 | #define SC_XMLTV_CHANNEL_DEPTH 1 39 | 40 | #define SC_XMLTV_PROGRAMME_NAME "programme" 41 | #define SC_XMLTV_PROGRAMME_DEPTH 1 42 | 43 | #define SC_XMLTV_CREDIT_NAME "credits" 44 | #define SC_XMLTV_CREDIT_DEPTH 2 45 | 46 | #ifdef __cplusplus 47 | extern "C" { 48 | #endif 49 | 50 | enum sc_xmltv_strct { 51 | SC_XMLTV_CHANNEL, 52 | SC_XMLTV_PROGRAMME, 53 | SC_XMLTV_CREDIT 54 | }; 55 | 56 | typedef struct sc_xmltv_channel { 57 | char *id_; 58 | sc_list_t *display_names; 59 | sc_list_t *programmes; 60 | } sc_xmltv_channel_t; 61 | 62 | typedef struct sc_xmltv_programme { 63 | time_t start; 64 | time_t stop; 65 | char *channel; 66 | char *title; 67 | char *sub_title; 68 | char *desc; 69 | sc_list_t *credits; 70 | char *date; 71 | sc_list_t *categories; 72 | int episode_num; 73 | time_t previously_shown; 74 | char *star_rating; 75 | char *icon; 76 | } sc_xmltv_programme_t; 77 | 78 | typedef enum sc_xmltv_credit_type { 79 | SC_XMLTV_CREDIT_TYPE_UNKNOWN, 80 | SC_XMLTV_CREDIT_TYPE_ACTOR, 81 | SC_XMLTV_CREDIT_TYPE_DIRECTOR, 82 | SC_XMLTV_CREDIT_TYPE_GUEST, 83 | SC_XMLTV_CREDIT_TYPE_PRESENTER, 84 | SC_XMLTV_CREDIT_TYPE_PRODUCER, 85 | SC_XMLTV_CREDIT_TYPE_WRITER 86 | } sc_xmltv_credit_type_t; 87 | 88 | typedef struct sc_xmltv_credit { 89 | sc_xmltv_credit_type_t type; 90 | char *name; 91 | } sc_xmltv_credit_t; 92 | 93 | void *sc_xmltv_create(enum sc_xmltv_strct type); 94 | 95 | void sc_xmltv_list_free(enum sc_xmltv_strct type, sc_list_t **list); 96 | 97 | void sc_xmltv_free(enum sc_xmltv_strct type, void *strct); 98 | 99 | time_t sc_xmltv_to_unix_time(const char *str_time); 100 | 101 | bool sc_xmltv_check_current_reader_node(xmlTextReaderPtr reader, int node_type, const char *node_name, int node_depth); 102 | 103 | sc_xmltv_channel_t *sc_xmltv_parse_channel(xmlTextReaderPtr reader); 104 | 105 | sc_xmltv_programme_t *sc_xmltv_parse_programme(xmlTextReaderPtr reader); 106 | 107 | sc_list_t *sc_xmltv_parse(const char *filename); 108 | 109 | #ifdef __cplusplus 110 | } 111 | #endif 112 | 113 | #endif /* XMLTV_H */ 114 | -------------------------------------------------------------------------------- /lib/libstalkerclient/list.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015, 2016 Jamal Edey 3 | * http://www.kenshisoft.com/ 4 | * 5 | * This program is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU General Public License 7 | * as published by the Free Software Foundation; either version 2 8 | * of the License, or (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Kodi; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 18 | * 19 | * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html 20 | * 21 | */ 22 | 23 | #include "list.h" 24 | 25 | #include 26 | #include 27 | 28 | sc_list_t *sc_list_create() { 29 | sc_list_t *list; 30 | 31 | list = (sc_list_t *) malloc(sizeof(sc_list_t)); 32 | memset(list, 0, sizeof(*list)); 33 | 34 | return list; 35 | } 36 | 37 | sc_list_node_t *sc_list_node_create(void *data) { 38 | sc_list_node_t *node; 39 | 40 | node = (sc_list_node_t *) malloc(sizeof(sc_list_node_t)); 41 | memset(node, 0, sizeof(*node)); 42 | node->data = data; 43 | 44 | return node; 45 | } 46 | 47 | sc_list_node_t *sc_list_node_link(sc_list_t *list, sc_list_node_t *a, sc_list_node_t *b) { 48 | b->prev = a; 49 | a->next = b; 50 | list->last = b; 51 | 52 | return b; 53 | } 54 | 55 | sc_list_node_t *sc_list_node_append(sc_list_t *list, sc_list_node_t *node) { 56 | if (!list->first) { 57 | list->first = node; 58 | list->last = node; 59 | return node; 60 | } 61 | return sc_list_node_link(list, list->last, node); 62 | } 63 | 64 | sc_list_node_t *sc_list_node_unlink(sc_list_t *list, sc_list_node_t *node) { 65 | sc_list_node_t *prev = NULL; 66 | sc_list_node_t *next = NULL; 67 | 68 | prev = node->prev; 69 | next = node->next; 70 | 71 | if (node == list->first) { 72 | list->first = next; 73 | } 74 | 75 | if (node == list->last) { 76 | list->last = prev; 77 | } 78 | 79 | if (prev) { 80 | prev->next = next; 81 | } 82 | 83 | if (next) { 84 | next->prev = prev; 85 | } 86 | 87 | node->prev = NULL; 88 | node->next = NULL; 89 | 90 | return next; 91 | } 92 | 93 | void sc_list_node_free(sc_list_node_t **node, bool free_data) { 94 | if (!node) return; 95 | if (*node) { 96 | if (free_data && (*node)->data) { 97 | free((*node)->data); 98 | } 99 | 100 | (*node)->data = NULL; 101 | (*node)->prev = NULL; 102 | (*node)->next = NULL; 103 | 104 | free(*node); 105 | } 106 | *node = NULL; 107 | } 108 | 109 | void sc_list_free(sc_list_t **list, bool free_node_data) { 110 | if (!list) return; 111 | if (*list) { 112 | sc_list_node_t *node; 113 | sc_list_node_t *next; 114 | 115 | node = (*list)->first; 116 | while (node) { 117 | next = node->next; 118 | sc_list_node_free(&node, free_node_data); 119 | node = next; 120 | } 121 | 122 | (*list)->first = NULL; 123 | (*list)->last = NULL; 124 | 125 | free(*list); 126 | } 127 | *list = NULL; 128 | } 129 | -------------------------------------------------------------------------------- /pvr.stalker/resources/language/resource.language.is_is/strings.po: -------------------------------------------------------------------------------- 1 | # Kodi Media Center language file 2 | # Addon Name: Stalker Client 3 | # Addon id: pvr.stalker 4 | # Addon Provider: Jamal Edey 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: KODI Main\n" 8 | "Report-Msgid-Bugs-To: http://trac.kodi.tv/\n" 9 | "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" 10 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 11 | "Last-Translator: Kodi Translation Team\n" 12 | "Language-Team: Icelandic (Iceland) (http://www.transifex.com/projects/p/kodi-main/language/is_IS/)\n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: 8bit\n" 16 | "Language: is_IS\n" 17 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 18 | 19 | msgctxt "#30000" 20 | msgid "General" 21 | msgstr "Almennt" 22 | 23 | msgctxt "#30001" 24 | msgid "Active Portal" 25 | msgstr "Virk gátt" 26 | 27 | msgctxt "#30002" 28 | msgid "Misc" 29 | msgstr "Ýmislegt" 30 | 31 | msgctxt "#30003" 32 | msgid "Connection Timeout (seconds)" 33 | msgstr "Tengitími rennur út (sekúndur)" 34 | 35 | msgctxt "#30101" 36 | msgid "MAC Address" 37 | msgstr "MAC vistfang" 38 | 39 | msgctxt "#30102" 40 | msgid "Server Address" 41 | msgstr "Vistfang miðlara" 42 | 43 | msgctxt "#30103" 44 | msgid "Time Zone" 45 | msgstr "Tímabelti" 46 | 47 | msgctxt "#30104" 48 | msgid "Auth Credentials" 49 | msgstr "Auðkenni" 50 | 51 | msgctxt "#30105" 52 | msgid "Login" 53 | msgstr "Innskrá" 54 | 55 | msgctxt "#30106" 56 | msgid "Password" 57 | msgstr "Lykilorð" 58 | 59 | msgctxt "#30107" 60 | msgid "Guide" 61 | msgstr "Leiðsagnarsíða" 62 | 63 | msgctxt "#30108" 64 | msgid "Preference" 65 | msgstr "Valkostir" 66 | 67 | msgctxt "#30109" 68 | msgid "Prefer Provider" 69 | msgstr "Kosin efnisveita" 70 | 71 | msgctxt "#30110" 72 | msgid "Prefer XMLTV" 73 | msgstr "Kjósa XMLTV" 74 | 75 | msgctxt "#30111" 76 | msgid "Provider Only" 77 | msgstr "Aðeins efnisveita" 78 | 79 | msgctxt "#30112" 80 | msgid "XMLTV Only" 81 | msgstr "Aðeins XMLTV" 82 | 83 | msgctxt "#30115" 84 | msgid "XMLTV" 85 | msgstr "XMLTV" 86 | 87 | msgctxt "#30116" 88 | msgid "Scope" 89 | msgstr "Svið" 90 | 91 | msgctxt "#30117" 92 | msgid "Remote URL" 93 | msgstr "Slóð fjartengingar" 94 | 95 | msgctxt "#30118" 96 | msgid "Local Path" 97 | msgstr "Staðbundin slóð" 98 | 99 | msgctxt "#30119" 100 | msgid "Advanced" 101 | msgstr "Ítarlegt" 102 | 103 | msgctxt "#30120" 104 | msgid "Token" 105 | msgstr "Tákn" 106 | 107 | msgctxt "#30121" 108 | msgid "Serial Number" 109 | msgstr "Raðnúmer" 110 | 111 | msgctxt "#30122" 112 | msgid "Device ID" 113 | msgstr "Kennitala tækis" 114 | 115 | msgctxt "#30123" 116 | msgid "Device ID2" 117 | msgstr "Kenni 2 tækis" 118 | 119 | msgctxt "#30124" 120 | msgid "Signature" 121 | msgstr "Undirskrift" 122 | 123 | msgctxt "#30501" 124 | msgid "Unknown error. See log for details." 125 | msgstr "Óþekkt villa. Athugaðu atburðaskrá." 126 | 127 | msgctxt "#30502" 128 | msgid "Startup failed." 129 | msgstr "Mistókst að ræsa." 130 | 131 | msgctxt "#30503" 132 | msgid "Failed to connect to server." 133 | msgstr "Mistókst að tengjast þjóni." 134 | 135 | msgctxt "#30505" 136 | msgid "Unable to load channels." 137 | msgstr "Mistókst að sækja rásir." 138 | 139 | msgctxt "#30508" 140 | msgid "Failed to get stream URL." 141 | msgstr "Mistókst að streyma URL." 142 | 143 | msgctxt "#31000" 144 | msgid "Portal 1" 145 | msgstr "Gátt 1" 146 | 147 | msgctxt "#32000" 148 | msgid "Portal 2" 149 | msgstr "Gátt 2" 150 | 151 | msgctxt "#33000" 152 | msgid "Portal 3" 153 | msgstr "Gátt 3" 154 | 155 | msgctxt "#34000" 156 | msgid "Portal 4" 157 | msgstr "Gátt 4" 158 | 159 | msgctxt "#35000" 160 | msgid "Portal 5" 161 | msgstr "Gátt 5" 162 | -------------------------------------------------------------------------------- /pvr.stalker/resources/language/resource.language.el_gr/strings.po: -------------------------------------------------------------------------------- 1 | # Kodi Media Center language file 2 | # Addon Name: Stalker Client 3 | # Addon id: pvr.stalker 4 | # Addon Provider: Jamal Edey 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: KODI Main\n" 8 | "Report-Msgid-Bugs-To: http://trac.kodi.tv/\n" 9 | "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" 10 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 11 | "Last-Translator: Kodi Translation Team\n" 12 | "Language-Team: Greek (Greece) (http://www.transifex.com/projects/p/kodi-main/language/el_GR/)\n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: 8bit\n" 16 | "Language: el_GR\n" 17 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 18 | 19 | msgctxt "#30000" 20 | msgid "General" 21 | msgstr "Γενικά" 22 | 23 | msgctxt "#30001" 24 | msgid "Active Portal" 25 | msgstr "Ενεργή πύλη" 26 | 27 | msgctxt "#30002" 28 | msgid "Misc" 29 | msgstr "Διάφορα" 30 | 31 | msgctxt "#30101" 32 | msgid "MAC Address" 33 | msgstr "Διεύθυνση MAC" 34 | 35 | msgctxt "#30102" 36 | msgid "Server Address" 37 | msgstr "Διεύθυνση Διακομιστή" 38 | 39 | msgctxt "#30103" 40 | msgid "Time Zone" 41 | msgstr "Ζώνη Ώρας" 42 | 43 | msgctxt "#30104" 44 | msgid "Auth Credentials" 45 | msgstr "Διαπιστευτήρια ταυτοποίησης" 46 | 47 | msgctxt "#30105" 48 | msgid "Login" 49 | msgstr "Σύνδεση" 50 | 51 | msgctxt "#30106" 52 | msgid "Password" 53 | msgstr "Κωδικός πρόσβασης" 54 | 55 | msgctxt "#30107" 56 | msgid "Guide" 57 | msgstr "Οδηγός" 58 | 59 | msgctxt "#30108" 60 | msgid "Preference" 61 | msgstr "Προτίμηση" 62 | 63 | msgctxt "#30109" 64 | msgid "Prefer Provider" 65 | msgstr "Προτίμηση Πάροχου" 66 | 67 | msgctxt "#30110" 68 | msgid "Prefer XMLTV" 69 | msgstr "Προτίμηση XMLTV" 70 | 71 | msgctxt "#30111" 72 | msgid "Provider Only" 73 | msgstr "Μόνο Πάροχος" 74 | 75 | msgctxt "#30112" 76 | msgid "XMLTV Only" 77 | msgstr "Μόνο XMLTV" 78 | 79 | msgctxt "#30115" 80 | msgid "XMLTV" 81 | msgstr "XMLTV" 82 | 83 | msgctxt "#30116" 84 | msgid "Scope" 85 | msgstr "Eμβέλεια" 86 | 87 | msgctxt "#30117" 88 | msgid "Remote URL" 89 | msgstr "Απομακρυσμένο URL" 90 | 91 | msgctxt "#30118" 92 | msgid "Local Path" 93 | msgstr "Τοπική Διαδρομή" 94 | 95 | msgctxt "#30119" 96 | msgid "Advanced" 97 | msgstr "Για Προχωρημένους" 98 | 99 | msgctxt "#30120" 100 | msgid "Token" 101 | msgstr "Ένδειξη" 102 | 103 | msgctxt "#30121" 104 | msgid "Serial Number" 105 | msgstr "Σειριακός αριθμός" 106 | 107 | msgctxt "#30122" 108 | msgid "Device ID" 109 | msgstr "ID Συσκευής" 110 | 111 | msgctxt "#30123" 112 | msgid "Device ID2" 113 | msgstr "ID2 Συσκευής" 114 | 115 | msgctxt "#30124" 116 | msgid "Signature" 117 | msgstr "Υπογραφή" 118 | 119 | msgctxt "#30501" 120 | msgid "Unknown error. See log for details." 121 | msgstr "Αγνωστο σφάλμα. Δείτε το αρχείο για λεπτομέρειες " 122 | 123 | msgctxt "#30502" 124 | msgid "Startup failed." 125 | msgstr "αποτυχία εκκίνησης" 126 | 127 | msgctxt "#30503" 128 | msgid "Failed to connect to server." 129 | msgstr "αποτυχία σύνδεσης με τον διακομιστή" 130 | 131 | msgctxt "#30504" 132 | msgid "Authentication failed. Retrying." 133 | msgstr "Ελεγχος ταυτότητος απέτυχε. Ξαναδοκιμάστε" 134 | 135 | msgctxt "#30505" 136 | msgid "Unable to load channels." 137 | msgstr "αδυναμία φόρτωσης καναλιών" 138 | 139 | msgctxt "#30506" 140 | msgid "Unable to load channel groups." 141 | msgstr "αδυναμία φόρτωσης ομάδας καναλιών" 142 | 143 | msgctxt "#30507" 144 | msgid "Unable to load guide." 145 | msgstr "αδυναμία φόρτωσης οδηγού" 146 | 147 | msgctxt "#30510" 148 | msgid "Re-authenticated." 149 | msgstr "Εκ νέου ελεγχος ταυτότητας" 150 | 151 | msgctxt "#31000" 152 | msgid "Portal 1" 153 | msgstr "Πύλη 1" 154 | 155 | msgctxt "#32000" 156 | msgid "Portal 2" 157 | msgstr "Πύλη 2" 158 | 159 | msgctxt "#33000" 160 | msgid "Portal 3" 161 | msgstr "Πύλη 3" 162 | 163 | msgctxt "#34000" 164 | msgid "Portal 4" 165 | msgstr "Πύλη 4" 166 | 167 | msgctxt "#35000" 168 | msgid "Portal 5" 169 | msgstr "Πύλη 5" 170 | -------------------------------------------------------------------------------- /pvr.stalker/resources/language/resource.language.zh_cn/strings.po: -------------------------------------------------------------------------------- 1 | # Kodi Media Center language file 2 | # Addon Name: Stalker Client 3 | # Addon id: pvr.stalker 4 | # Addon Provider: Jamal Edey 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: KODI Main\n" 8 | "Report-Msgid-Bugs-To: http://trac.kodi.tv/\n" 9 | "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" 10 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 11 | "Last-Translator: Kodi Translation Team\n" 12 | "Language-Team: Chinese (China) (http://www.transifex.com/projects/p/kodi-main/language/zh_CN/)\n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: 8bit\n" 16 | "Language: zh_CN\n" 17 | "Plural-Forms: nplurals=1; plural=0;\n" 18 | 19 | msgctxt "#30000" 20 | msgid "General" 21 | msgstr "常规" 22 | 23 | msgctxt "#30001" 24 | msgid "Active Portal" 25 | msgstr "活动入口" 26 | 27 | msgctxt "#30002" 28 | msgid "Misc" 29 | msgstr "杂项" 30 | 31 | msgctxt "#30003" 32 | msgid "Connection Timeout (seconds)" 33 | msgstr "连接超时(秒)" 34 | 35 | msgctxt "#30101" 36 | msgid "MAC Address" 37 | msgstr "MAC 地址" 38 | 39 | msgctxt "#30102" 40 | msgid "Server Address" 41 | msgstr "服务器地址" 42 | 43 | msgctxt "#30103" 44 | msgid "Time Zone" 45 | msgstr "时区" 46 | 47 | msgctxt "#30104" 48 | msgid "Auth Credentials" 49 | msgstr "可信凭证" 50 | 51 | msgctxt "#30105" 52 | msgid "Login" 53 | msgstr "登录" 54 | 55 | msgctxt "#30106" 56 | msgid "Password" 57 | msgstr "密码" 58 | 59 | msgctxt "#30107" 60 | msgid "Guide" 61 | msgstr "指南" 62 | 63 | msgctxt "#30108" 64 | msgid "Preference" 65 | msgstr "偏好设置" 66 | 67 | msgctxt "#30109" 68 | msgid "Prefer Provider" 69 | msgstr "首选提供者" 70 | 71 | msgctxt "#30110" 72 | msgid "Prefer XMLTV" 73 | msgstr "首选 XMLTV" 74 | 75 | msgctxt "#30111" 76 | msgid "Provider Only" 77 | msgstr "仅提供者" 78 | 79 | msgctxt "#30112" 80 | msgid "XMLTV Only" 81 | msgstr "仅 XMLTV" 82 | 83 | msgctxt "#30113" 84 | msgid "Cache Guide Data" 85 | msgstr "缓存指南数据" 86 | 87 | msgctxt "#30114" 88 | msgid "Cache Time (hours)" 89 | msgstr "缓存时间(小时)" 90 | 91 | msgctxt "#30115" 92 | msgid "XMLTV" 93 | msgstr "XMLTV" 94 | 95 | msgctxt "#30116" 96 | msgid "Scope" 97 | msgstr "范围" 98 | 99 | msgctxt "#30117" 100 | msgid "Remote URL" 101 | msgstr "远程 URL" 102 | 103 | msgctxt "#30118" 104 | msgid "Local Path" 105 | msgstr "本地路径" 106 | 107 | msgctxt "#30119" 108 | msgid "Advanced" 109 | msgstr "高级" 110 | 111 | msgctxt "#30120" 112 | msgid "Token" 113 | msgstr "令牌" 114 | 115 | msgctxt "#30121" 116 | msgid "Serial Number" 117 | msgstr "序列号" 118 | 119 | msgctxt "#30122" 120 | msgid "Device ID" 121 | msgstr "设备 ID" 122 | 123 | msgctxt "#30123" 124 | msgid "Device ID2" 125 | msgstr "设备 ID2" 126 | 127 | msgctxt "#30124" 128 | msgid "Signature" 129 | msgstr "签名" 130 | 131 | msgctxt "#30501" 132 | msgid "Unknown error. See log for details." 133 | msgstr "未知错误,详情见日志记录。" 134 | 135 | msgctxt "#30502" 136 | msgid "Startup failed." 137 | msgstr "启动失败。" 138 | 139 | msgctxt "#30503" 140 | msgid "Failed to connect to server." 141 | msgstr "连接服务器失败。" 142 | 143 | msgctxt "#30504" 144 | msgid "Authentication failed. Retrying." 145 | msgstr "验证失败,正在重试。" 146 | 147 | msgctxt "#30505" 148 | msgid "Unable to load channels." 149 | msgstr "无法读取频道。" 150 | 151 | msgctxt "#30506" 152 | msgid "Unable to load channel groups." 153 | msgstr "无法读取频道组。" 154 | 155 | msgctxt "#30507" 156 | msgid "Unable to load guide." 157 | msgstr "无法读取指南。" 158 | 159 | msgctxt "#30508" 160 | msgid "Failed to get stream URL." 161 | msgstr "获取流 URL 失败。" 162 | 163 | msgctxt "#30509" 164 | msgid "Authorization lost. Re-authenticating." 165 | msgstr "授权丢失,重新认证。" 166 | 167 | msgctxt "#30510" 168 | msgid "Re-authenticated." 169 | msgstr "已重新认证。" 170 | 171 | msgctxt "#31000" 172 | msgid "Portal 1" 173 | msgstr "入口 1" 174 | 175 | msgctxt "#32000" 176 | msgid "Portal 2" 177 | msgstr "入口 2" 178 | 179 | msgctxt "#33000" 180 | msgid "Portal 3" 181 | msgstr "入口 3" 182 | 183 | msgctxt "#34000" 184 | msgid "Portal 4" 185 | msgstr "入口 4" 186 | 187 | msgctxt "#35000" 188 | msgid "Portal 5" 189 | msgstr "入口 5" 190 | -------------------------------------------------------------------------------- /src/Utils.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015, 2016 Jamal Edey 3 | * http://www.kenshisoft.com/ 4 | * 5 | * This program is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU General Public License 7 | * as published by the Free Software Foundation; either version 2 8 | * of the License, or (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Kodi; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 18 | * 19 | * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html 20 | * 21 | */ 22 | 23 | #include "Utils.h" 24 | 25 | #include 26 | 27 | #include 28 | 29 | #include "libstalkerclient/itv.h" 30 | #include "client.h" 31 | 32 | std::string Utils::GetFilePath(const std::string &path, bool isUserPath) { 33 | return (isUserPath ? g_strUserPath : g_strClientPath) + PATH_SEPARATOR_CHAR + path; 34 | } 35 | 36 | // http://stackoverflow.com/a/17708801 37 | std::string Utils::UrlEncode(const std::string &value) { 38 | std::ostringstream escaped; 39 | escaped.fill('0'); 40 | escaped << std::hex; 41 | 42 | for (std::string::const_iterator i = value.begin(), n = value.end(); i != n; ++i) { 43 | std::string::value_type c = (*i); 44 | 45 | // Keep alphanumeric and other accepted characters intact 46 | if (isalnum(c) || c == '-' || c == '_' || c == '.' || c == '~') { 47 | escaped << c; 48 | continue; 49 | } 50 | 51 | // Any other characters are percent-encoded 52 | escaped << '%' << std::setw(2) << int((unsigned char) c); 53 | } 54 | 55 | return escaped.str(); 56 | } 57 | 58 | double Utils::StringToDouble(const std::string &value) { 59 | std::istringstream iss(value); 60 | double result; 61 | 62 | iss >> result; 63 | 64 | return result; 65 | } 66 | 67 | int Utils::StringToInt(const std::string &value) { 68 | return (int) StringToDouble(value); 69 | } 70 | 71 | int Utils::GetIntFromJsonValue(Json::Value &value, int defaultValue) { 72 | int res = defaultValue; 73 | 74 | // some json responses have ints formated as strings 75 | if (value.isString()) 76 | res = StringToInt(value.asString()); 77 | else if (value.isInt()) 78 | res = value.asInt(); 79 | 80 | return res; 81 | } 82 | 83 | double Utils::GetDoubleFromJsonValue(Json::Value &value, double defaultValue) { 84 | double res = defaultValue; 85 | 86 | /* some json responses have doubles formated as strings, 87 | or an expected double is formated as an int */ 88 | if (value.isString()) 89 | res = StringToDouble(value.asString()); 90 | else if (value.isInt() || value.isDouble()) 91 | res = value.asDouble(); 92 | 93 | return res; 94 | } 95 | 96 | bool Utils::GetBoolFromJsonValue(Json::Value &value) { 97 | // some json responses have string bools formated as string literals 98 | if (value.isString()) { 99 | return value.asString().compare("true") == 0; 100 | } else { 101 | return value.asBool(); 102 | } 103 | } 104 | 105 | std::string Utils::DetermineLogoURI(const std::string &basePath, const std::string &logo) { 106 | std::string uri; 107 | 108 | if (logo.length() > 5 && logo.substr(0, 5).compare("data:") == 0) { 109 | return uri; 110 | } else if (logo.find("://") != std::string::npos) { 111 | uri = logo; 112 | } else if (logo.length() != 0) { 113 | uri = basePath + SC_ITV_LOGO_PATH_320 + logo; 114 | } 115 | 116 | return uri; 117 | } 118 | -------------------------------------------------------------------------------- /pvr.stalker/resources/language/resource.language.ko_kr/strings.po: -------------------------------------------------------------------------------- 1 | # Kodi Media Center language file 2 | # Addon Name: Stalker Client 3 | # Addon id: pvr.stalker 4 | # Addon Provider: Jamal Edey 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: KODI Main\n" 8 | "Report-Msgid-Bugs-To: http://trac.kodi.tv/\n" 9 | "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" 10 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 11 | "Last-Translator: Kodi Translation Team\n" 12 | "Language-Team: Korean (Korea) (http://www.transifex.com/projects/p/kodi-main/language/ko_KR/)\n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: 8bit\n" 16 | "Language: ko_KR\n" 17 | "Plural-Forms: nplurals=1; plural=0;\n" 18 | 19 | msgctxt "#30000" 20 | msgid "General" 21 | msgstr "일반" 22 | 23 | msgctxt "#30001" 24 | msgid "Active Portal" 25 | msgstr "활성 포탈" 26 | 27 | msgctxt "#30002" 28 | msgid "Misc" 29 | msgstr "기타" 30 | 31 | msgctxt "#30003" 32 | msgid "Connection Timeout (seconds)" 33 | msgstr "연결 시간 제한 (초)" 34 | 35 | msgctxt "#30101" 36 | msgid "MAC Address" 37 | msgstr "MAC 주소" 38 | 39 | msgctxt "#30102" 40 | msgid "Server Address" 41 | msgstr "서버 주소" 42 | 43 | msgctxt "#30103" 44 | msgid "Time Zone" 45 | msgstr "시간대" 46 | 47 | msgctxt "#30104" 48 | msgid "Auth Credentials" 49 | msgstr "보안 인증" 50 | 51 | msgctxt "#30105" 52 | msgid "Login" 53 | msgstr "로그인" 54 | 55 | msgctxt "#30106" 56 | msgid "Password" 57 | msgstr "비밀번호" 58 | 59 | msgctxt "#30107" 60 | msgid "Guide" 61 | msgstr "편성표" 62 | 63 | msgctxt "#30108" 64 | msgid "Preference" 65 | msgstr "설정" 66 | 67 | msgctxt "#30109" 68 | msgid "Prefer Provider" 69 | msgstr "제공자 우선" 70 | 71 | msgctxt "#30110" 72 | msgid "Prefer XMLTV" 73 | msgstr "XMLTV 우선" 74 | 75 | msgctxt "#30111" 76 | msgid "Provider Only" 77 | msgstr "제공자만" 78 | 79 | msgctxt "#30112" 80 | msgid "XMLTV Only" 81 | msgstr "XMLTV만" 82 | 83 | msgctxt "#30113" 84 | msgid "Cache Guide Data" 85 | msgstr "가이드 데이터 캐시" 86 | 87 | msgctxt "#30114" 88 | msgid "Cache Time (hours)" 89 | msgstr "캐시 시간 (시간)" 90 | 91 | msgctxt "#30115" 92 | msgid "XMLTV" 93 | msgstr "XMLTV" 94 | 95 | msgctxt "#30116" 96 | msgid "Scope" 97 | msgstr "범위" 98 | 99 | msgctxt "#30117" 100 | msgid "Remote URL" 101 | msgstr "외부 URL" 102 | 103 | msgctxt "#30118" 104 | msgid "Local Path" 105 | msgstr "로컬 파일 경로" 106 | 107 | msgctxt "#30119" 108 | msgid "Advanced" 109 | msgstr "고급" 110 | 111 | msgctxt "#30120" 112 | msgid "Token" 113 | msgstr "토큰" 114 | 115 | msgctxt "#30121" 116 | msgid "Serial Number" 117 | msgstr "시리얼 번호" 118 | 119 | msgctxt "#30122" 120 | msgid "Device ID" 121 | msgstr "장치 ID" 122 | 123 | msgctxt "#30123" 124 | msgid "Device ID2" 125 | msgstr "장치 ID2" 126 | 127 | msgctxt "#30124" 128 | msgid "Signature" 129 | msgstr "서명" 130 | 131 | msgctxt "#30501" 132 | msgid "Unknown error. See log for details." 133 | msgstr "알 수 없는 에러. 로그를 확인하세요." 134 | 135 | msgctxt "#30502" 136 | msgid "Startup failed." 137 | msgstr "시작실패했습니다." 138 | 139 | msgctxt "#30503" 140 | msgid "Failed to connect to server." 141 | msgstr "서버 접속 실패했습니다." 142 | 143 | msgctxt "#30504" 144 | msgid "Authentication failed. Retrying." 145 | msgstr "인증 실패. 다시 시도중." 146 | 147 | msgctxt "#30505" 148 | msgid "Unable to load channels." 149 | msgstr "채널들을 불러올 수 없습니다." 150 | 151 | msgctxt "#30506" 152 | msgid "Unable to load channel groups." 153 | msgstr "채널 그룹을 불러올 수 없습니다." 154 | 155 | msgctxt "#30507" 156 | msgid "Unable to load guide." 157 | msgstr "가이드를 불러올 수 없습니다." 158 | 159 | msgctxt "#30508" 160 | msgid "Failed to get stream URL." 161 | msgstr "스트리밍 URL을 가져오는 데 실패했습니다." 162 | 163 | msgctxt "#30509" 164 | msgid "Authorization lost. Re-authenticating." 165 | msgstr "인증 분실. 재인증중." 166 | 167 | msgctxt "#30510" 168 | msgid "Re-authenticated." 169 | msgstr "재인증됨." 170 | 171 | msgctxt "#31000" 172 | msgid "Portal 1" 173 | msgstr "포탈 1" 174 | 175 | msgctxt "#32000" 176 | msgid "Portal 2" 177 | msgstr "포탈 2" 178 | 179 | msgctxt "#33000" 180 | msgid "Portal 3" 181 | msgstr "포탈 3" 182 | 183 | msgctxt "#34000" 184 | msgid "Portal 4" 185 | msgstr "포탈 4" 186 | 187 | msgctxt "#35000" 188 | msgid "Portal 5" 189 | msgstr "포탈 5" 190 | -------------------------------------------------------------------------------- /pvr.stalker/resources/language/resource.language.en_gb/strings.po: -------------------------------------------------------------------------------- 1 | # Kodi Media Center language file 2 | # Addon Name: Stalker Client 3 | # Addon id: pvr.stalker 4 | # Addon Provider: Jamal Edey 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: KODI Main\n" 8 | "Report-Msgid-Bugs-To: http://trac.kodi.tv/\n" 9 | "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" 10 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 11 | "Last-Translator: Kodi Translation Team\n" 12 | "Language-Team: English (United Kingdom) (http://www.transifex.com/projects/p/kodi-main/language/en_GB/)\n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: 8bit\n" 16 | "Language: en_GB\n" 17 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 18 | 19 | #settings labels 20 | 21 | msgctxt "#30000" 22 | msgid "General" 23 | msgstr "" 24 | 25 | msgctxt "#30001" 26 | msgid "Active Portal" 27 | msgstr "" 28 | 29 | msgctxt "#30002" 30 | msgid "Misc" 31 | msgstr "" 32 | 33 | msgctxt "#30003" 34 | msgid "Connection Timeout (seconds)" 35 | msgstr "" 36 | 37 | #empty strings from id 30004 to 30100 38 | 39 | msgctxt "#30101" 40 | msgid "MAC Address" 41 | msgstr "" 42 | 43 | msgctxt "#30102" 44 | msgid "Server Address" 45 | msgstr "" 46 | 47 | msgctxt "#30103" 48 | msgid "Time Zone" 49 | msgstr "" 50 | 51 | msgctxt "#30104" 52 | msgid "Auth Credentials" 53 | msgstr "" 54 | 55 | msgctxt "#30105" 56 | msgid "Login" 57 | msgstr "" 58 | 59 | msgctxt "#30106" 60 | msgid "Password" 61 | msgstr "" 62 | 63 | msgctxt "#30107" 64 | msgid "Guide" 65 | msgstr "" 66 | 67 | msgctxt "#30108" 68 | msgid "Preference" 69 | msgstr "" 70 | 71 | msgctxt "#30109" 72 | msgid "Prefer Provider" 73 | msgstr "" 74 | 75 | msgctxt "#30110" 76 | msgid "Prefer XMLTV" 77 | msgstr "" 78 | 79 | msgctxt "#30111" 80 | msgid "Provider Only" 81 | msgstr "" 82 | 83 | msgctxt "#30112" 84 | msgid "XMLTV Only" 85 | msgstr "" 86 | 87 | msgctxt "#30113" 88 | msgid "Cache Guide Data" 89 | msgstr "" 90 | 91 | msgctxt "#30114" 92 | msgid "Cache Time (hours)" 93 | msgstr "" 94 | 95 | msgctxt "#30115" 96 | msgid "XMLTV" 97 | msgstr "" 98 | 99 | msgctxt "#30116" 100 | msgid "Scope" 101 | msgstr "" 102 | 103 | msgctxt "#30117" 104 | msgid "Remote URL" 105 | msgstr "" 106 | 107 | msgctxt "#30118" 108 | msgid "Local Path" 109 | msgstr "" 110 | 111 | msgctxt "#30119" 112 | msgid "Advanced" 113 | msgstr "" 114 | 115 | msgctxt "#30120" 116 | msgid "Token" 117 | msgstr "" 118 | 119 | msgctxt "#30121" 120 | msgid "Serial Number" 121 | msgstr "" 122 | 123 | msgctxt "#30122" 124 | msgid "Device ID" 125 | msgstr "" 126 | 127 | msgctxt "#30123" 128 | msgid "Device ID2" 129 | msgstr "" 130 | 131 | msgctxt "#30124" 132 | msgid "Signature" 133 | msgstr "" 134 | 135 | #empty strings from id 30125 to 30500 136 | 137 | msgctxt "#30501" 138 | msgid "Unknown error. See log for details." 139 | msgstr "" 140 | 141 | msgctxt "#30502" 142 | msgid "Startup failed." 143 | msgstr "" 144 | 145 | msgctxt "#30503" 146 | msgid "Failed to connect to server." 147 | msgstr "" 148 | 149 | msgctxt "#30504" 150 | msgid "Authentication failed. Retrying." 151 | msgstr "" 152 | 153 | msgctxt "#30505" 154 | msgid "Unable to load channels." 155 | msgstr "" 156 | 157 | msgctxt "#30506" 158 | msgid "Unable to load channel groups." 159 | msgstr "" 160 | 161 | msgctxt "#30507" 162 | msgid "Unable to load guide." 163 | msgstr "" 164 | 165 | msgctxt "#30508" 166 | msgid "Failed to get stream URL." 167 | msgstr "" 168 | 169 | msgctxt "#30509" 170 | msgid "Authorization lost. Re-authenticating." 171 | msgstr "" 172 | 173 | msgctxt "#30510" 174 | msgid "Re-authenticated." 175 | msgstr "" 176 | 177 | #empty strings from id 30511 to 30999 178 | 179 | msgctxt "#31000" 180 | msgid "Portal 1" 181 | msgstr "" 182 | 183 | #empty strings from id 31001 to 31999 184 | 185 | msgctxt "#32000" 186 | msgid "Portal 2" 187 | msgstr "" 188 | 189 | #empty strings from id 32001 to 32999 190 | 191 | msgctxt "#33000" 192 | msgid "Portal 3" 193 | msgstr "" 194 | 195 | #empty strings from id 33001 to 33999 196 | 197 | msgctxt "#34000" 198 | msgid "Portal 4" 199 | msgstr "" 200 | 201 | #empty strings from id 34001 to 34999 202 | 203 | msgctxt "#35000" 204 | msgid "Portal 5" 205 | msgstr "" 206 | -------------------------------------------------------------------------------- /pvr.stalker/resources/language/resource.language.he_il/strings.po: -------------------------------------------------------------------------------- 1 | # Kodi Media Center language file 2 | # Addon Name: Stalker Client 3 | # Addon id: pvr.stalker 4 | # Addon Provider: Jamal Edey 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: KODI Main\n" 8 | "Report-Msgid-Bugs-To: http://trac.kodi.tv/\n" 9 | "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" 10 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 11 | "Last-Translator: Kodi Translation Team\n" 12 | "Language-Team: Hebrew (Israel) (http://www.transifex.com/projects/p/kodi-main/language/he_IL/)\n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: 8bit\n" 16 | "Language: he_IL\n" 17 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 18 | 19 | msgctxt "#30000" 20 | msgid "General" 21 | msgstr "כללי" 22 | 23 | msgctxt "#30001" 24 | msgid "Active Portal" 25 | msgstr "פורטל פעיל" 26 | 27 | msgctxt "#30002" 28 | msgid "Misc" 29 | msgstr "שונות" 30 | 31 | msgctxt "#30003" 32 | msgid "Connection Timeout (seconds)" 33 | msgstr "זמן מירבי לניסיון חיבור (שנ')" 34 | 35 | msgctxt "#30101" 36 | msgid "MAC Address" 37 | msgstr "כתובת MAC" 38 | 39 | msgctxt "#30102" 40 | msgid "Server Address" 41 | msgstr "כתובת שרת" 42 | 43 | msgctxt "#30103" 44 | msgid "Time Zone" 45 | msgstr "אזור זמן" 46 | 47 | msgctxt "#30104" 48 | msgid "Auth Credentials" 49 | msgstr "אישורי אימות" 50 | 51 | msgctxt "#30105" 52 | msgid "Login" 53 | msgstr "שם משתמש" 54 | 55 | msgctxt "#30106" 56 | msgid "Password" 57 | msgstr "סיסמה" 58 | 59 | msgctxt "#30107" 60 | msgid "Guide" 61 | msgstr "לוח שידורים" 62 | 63 | msgctxt "#30108" 64 | msgid "Preference" 65 | msgstr "העדפה" 66 | 67 | msgctxt "#30109" 68 | msgid "Prefer Provider" 69 | msgstr "העדף שידור" 70 | 71 | msgctxt "#30110" 72 | msgid "Prefer XMLTV" 73 | msgstr "העדף XMLTV" 74 | 75 | msgctxt "#30111" 76 | msgid "Provider Only" 77 | msgstr "שידור בלבד" 78 | 79 | msgctxt "#30112" 80 | msgid "XMLTV Only" 81 | msgstr "XMLTV בלבד" 82 | 83 | msgctxt "#30113" 84 | msgid "Cache Guide Data" 85 | msgstr "מטמון לוח שידורים" 86 | 87 | msgctxt "#30114" 88 | msgid "Cache Time (hours)" 89 | msgstr "זמן מטמון (שעות) " 90 | 91 | msgctxt "#30115" 92 | msgid "XMLTV" 93 | msgstr "XMLTV" 94 | 95 | msgctxt "#30116" 96 | msgid "Scope" 97 | msgstr "היקף" 98 | 99 | msgctxt "#30117" 100 | msgid "Remote URL" 101 | msgstr "כתובת מרוחקת" 102 | 103 | msgctxt "#30118" 104 | msgid "Local Path" 105 | msgstr "נתיב מקומי" 106 | 107 | msgctxt "#30119" 108 | msgid "Advanced" 109 | msgstr "מתקדם" 110 | 111 | msgctxt "#30120" 112 | msgid "Token" 113 | msgstr "Token" 114 | 115 | msgctxt "#30121" 116 | msgid "Serial Number" 117 | msgstr "מספר סידורי" 118 | 119 | msgctxt "#30122" 120 | msgid "Device ID" 121 | msgstr "מזהה מכשיר (ID)" 122 | 123 | msgctxt "#30123" 124 | msgid "Device ID2" 125 | msgstr "מזהה מכשיר 2 (ID2)" 126 | 127 | msgctxt "#30124" 128 | msgid "Signature" 129 | msgstr "חתימה" 130 | 131 | msgctxt "#30501" 132 | msgid "Unknown error. See log for details." 133 | msgstr "שגיאה לא ידועה. עיין ביומן לקבלת פרטים." 134 | 135 | msgctxt "#30502" 136 | msgid "Startup failed." 137 | msgstr "האתחול נכשל." 138 | 139 | msgctxt "#30503" 140 | msgid "Failed to connect to server." 141 | msgstr "התחברות לשרת נכשלה." 142 | 143 | msgctxt "#30504" 144 | msgid "Authentication failed. Retrying." 145 | msgstr "אימות נכשל. מנסה שוב." 146 | 147 | msgctxt "#30505" 148 | msgid "Unable to load channels." 149 | msgstr "לא ניתן לטעון ערוצים." 150 | 151 | msgctxt "#30506" 152 | msgid "Unable to load channel groups." 153 | msgstr "לא ניתן לטעון קבוצות ערוצים." 154 | 155 | msgctxt "#30507" 156 | msgid "Unable to load guide." 157 | msgstr "נכשל בטעינת לוח שידורים." 158 | 159 | msgctxt "#30508" 160 | msgid "Failed to get stream URL." 161 | msgstr "הזרמת URL נכשלה." 162 | 163 | msgctxt "#30509" 164 | msgid "Authorization lost. Re-authenticating." 165 | msgstr "האימות נכשל. מבצע אימות מחדש." 166 | 167 | msgctxt "#30510" 168 | msgid "Re-authenticated." 169 | msgstr "אומת מחדש." 170 | 171 | msgctxt "#31000" 172 | msgid "Portal 1" 173 | msgstr "פורטל 1" 174 | 175 | msgctxt "#32000" 176 | msgid "Portal 2" 177 | msgstr "פורטל 2" 178 | 179 | msgctxt "#33000" 180 | msgid "Portal 3" 181 | msgstr "פורטל 3" 182 | 183 | msgctxt "#34000" 184 | msgid "Portal 4" 185 | msgstr "פורטל 4" 186 | 187 | msgctxt "#35000" 188 | msgid "Portal 5" 189 | msgstr "פורטל 5" 190 | -------------------------------------------------------------------------------- /pvr.stalker/resources/language/resource.language.en_nz/strings.po: -------------------------------------------------------------------------------- 1 | # Kodi Media Center language file 2 | # Addon Name: Stalker Client 3 | # Addon id: pvr.stalker 4 | # Addon Provider: Jamal Edey 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: KODI Main\n" 8 | "Report-Msgid-Bugs-To: http://trac.kodi.tv/\n" 9 | "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" 10 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 11 | "Last-Translator: Kodi Translation Team\n" 12 | "Language-Team: English (New Zealand) (http://www.transifex.com/projects/p/kodi-main/language/en_NZ/)\n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: 8bit\n" 16 | "Language: en_NZ\n" 17 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 18 | 19 | msgctxt "#30000" 20 | msgid "General" 21 | msgstr "General" 22 | 23 | msgctxt "#30001" 24 | msgid "Active Portal" 25 | msgstr "Active Portal" 26 | 27 | msgctxt "#30002" 28 | msgid "Misc" 29 | msgstr "Misc" 30 | 31 | msgctxt "#30003" 32 | msgid "Connection Timeout (seconds)" 33 | msgstr "Connection Timeout (seconds)" 34 | 35 | msgctxt "#30101" 36 | msgid "MAC Address" 37 | msgstr "MAC Address" 38 | 39 | msgctxt "#30102" 40 | msgid "Server Address" 41 | msgstr "Server Address" 42 | 43 | msgctxt "#30103" 44 | msgid "Time Zone" 45 | msgstr "Time Zone" 46 | 47 | msgctxt "#30104" 48 | msgid "Auth Credentials" 49 | msgstr "Auth Credentials" 50 | 51 | msgctxt "#30105" 52 | msgid "Login" 53 | msgstr "Login" 54 | 55 | msgctxt "#30106" 56 | msgid "Password" 57 | msgstr "Password" 58 | 59 | msgctxt "#30107" 60 | msgid "Guide" 61 | msgstr "Guide" 62 | 63 | msgctxt "#30108" 64 | msgid "Preference" 65 | msgstr "Preference" 66 | 67 | msgctxt "#30109" 68 | msgid "Prefer Provider" 69 | msgstr "Prefer Provider" 70 | 71 | msgctxt "#30110" 72 | msgid "Prefer XMLTV" 73 | msgstr "Prefer XMLTV" 74 | 75 | msgctxt "#30111" 76 | msgid "Provider Only" 77 | msgstr "Provider Only" 78 | 79 | msgctxt "#30112" 80 | msgid "XMLTV Only" 81 | msgstr "XMLTV Only" 82 | 83 | msgctxt "#30113" 84 | msgid "Cache Guide Data" 85 | msgstr "Cache Guide Data" 86 | 87 | msgctxt "#30114" 88 | msgid "Cache Time (hours)" 89 | msgstr "Cache Time (hours)" 90 | 91 | msgctxt "#30115" 92 | msgid "XMLTV" 93 | msgstr "XMLTV" 94 | 95 | msgctxt "#30116" 96 | msgid "Scope" 97 | msgstr "Scope" 98 | 99 | msgctxt "#30117" 100 | msgid "Remote URL" 101 | msgstr "Remote URL" 102 | 103 | msgctxt "#30118" 104 | msgid "Local Path" 105 | msgstr "Local Path" 106 | 107 | msgctxt "#30119" 108 | msgid "Advanced" 109 | msgstr "Advanced" 110 | 111 | msgctxt "#30120" 112 | msgid "Token" 113 | msgstr "Token" 114 | 115 | msgctxt "#30121" 116 | msgid "Serial Number" 117 | msgstr "Serial Number" 118 | 119 | msgctxt "#30122" 120 | msgid "Device ID" 121 | msgstr "Device ID" 122 | 123 | msgctxt "#30123" 124 | msgid "Device ID2" 125 | msgstr "Device ID2" 126 | 127 | msgctxt "#30124" 128 | msgid "Signature" 129 | msgstr "Signature" 130 | 131 | msgctxt "#30501" 132 | msgid "Unknown error. See log for details." 133 | msgstr "Unknown error. See log for details." 134 | 135 | msgctxt "#30502" 136 | msgid "Startup failed." 137 | msgstr "Startup failed." 138 | 139 | msgctxt "#30503" 140 | msgid "Failed to connect to server." 141 | msgstr "Failed to connect to server." 142 | 143 | msgctxt "#30504" 144 | msgid "Authentication failed. Retrying." 145 | msgstr "Authentication failed. Retrying." 146 | 147 | msgctxt "#30505" 148 | msgid "Unable to load channels." 149 | msgstr "Unable to load channels." 150 | 151 | msgctxt "#30506" 152 | msgid "Unable to load channel groups." 153 | msgstr "Unable to load channel groups." 154 | 155 | msgctxt "#30507" 156 | msgid "Unable to load guide." 157 | msgstr "Unable to load guide." 158 | 159 | msgctxt "#30508" 160 | msgid "Failed to get stream URL." 161 | msgstr "Failed to get stream URL." 162 | 163 | msgctxt "#30509" 164 | msgid "Authorization lost. Re-authenticating." 165 | msgstr "Authorisation lost. Re-authenticating." 166 | 167 | msgctxt "#30510" 168 | msgid "Re-authenticated." 169 | msgstr "Re-authenticated." 170 | 171 | msgctxt "#31000" 172 | msgid "Portal 1" 173 | msgstr "Portal 1" 174 | 175 | msgctxt "#32000" 176 | msgid "Portal 2" 177 | msgstr "Portal 2" 178 | 179 | msgctxt "#33000" 180 | msgid "Portal 3" 181 | msgstr "Portal 3" 182 | 183 | msgctxt "#34000" 184 | msgid "Portal 4" 185 | msgstr "Portal 4" 186 | 187 | msgctxt "#35000" 188 | msgid "Portal 5" 189 | msgstr "Portal 5" 190 | -------------------------------------------------------------------------------- /pvr.stalker/resources/language/resource.language.en_us/strings.po: -------------------------------------------------------------------------------- 1 | # Kodi Media Center language file 2 | # Addon Name: Stalker Client 3 | # Addon id: pvr.stalker 4 | # Addon Provider: Jamal Edey 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: KODI Main\n" 8 | "Report-Msgid-Bugs-To: http://trac.kodi.tv/\n" 9 | "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" 10 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 11 | "Last-Translator: Kodi Translation Team\n" 12 | "Language-Team: English (United States) (http://www.transifex.com/projects/p/kodi-main/language/en_US/)\n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: 8bit\n" 16 | "Language: en_US\n" 17 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 18 | 19 | msgctxt "#30000" 20 | msgid "General" 21 | msgstr "General" 22 | 23 | msgctxt "#30001" 24 | msgid "Active Portal" 25 | msgstr "Active Portal" 26 | 27 | msgctxt "#30002" 28 | msgid "Misc" 29 | msgstr "Misc" 30 | 31 | msgctxt "#30003" 32 | msgid "Connection Timeout (seconds)" 33 | msgstr "Connection Timeout (seconds)" 34 | 35 | msgctxt "#30101" 36 | msgid "MAC Address" 37 | msgstr "MAC Address" 38 | 39 | msgctxt "#30102" 40 | msgid "Server Address" 41 | msgstr "Server Address" 42 | 43 | msgctxt "#30103" 44 | msgid "Time Zone" 45 | msgstr "Time Zone" 46 | 47 | msgctxt "#30104" 48 | msgid "Auth Credentials" 49 | msgstr "Auth Credentials" 50 | 51 | msgctxt "#30105" 52 | msgid "Login" 53 | msgstr "Login" 54 | 55 | msgctxt "#30106" 56 | msgid "Password" 57 | msgstr "Password" 58 | 59 | msgctxt "#30107" 60 | msgid "Guide" 61 | msgstr "Guide" 62 | 63 | msgctxt "#30108" 64 | msgid "Preference" 65 | msgstr "Preference" 66 | 67 | msgctxt "#30109" 68 | msgid "Prefer Provider" 69 | msgstr "Prefer Provider" 70 | 71 | msgctxt "#30110" 72 | msgid "Prefer XMLTV" 73 | msgstr "Prefer XMLTV" 74 | 75 | msgctxt "#30111" 76 | msgid "Provider Only" 77 | msgstr "Provider Only" 78 | 79 | msgctxt "#30112" 80 | msgid "XMLTV Only" 81 | msgstr "XMLTV Only" 82 | 83 | msgctxt "#30113" 84 | msgid "Cache Guide Data" 85 | msgstr "Cache Guide Data" 86 | 87 | msgctxt "#30114" 88 | msgid "Cache Time (hours)" 89 | msgstr "Cache Time (hours)" 90 | 91 | msgctxt "#30115" 92 | msgid "XMLTV" 93 | msgstr "XMLTV" 94 | 95 | msgctxt "#30116" 96 | msgid "Scope" 97 | msgstr "Scope" 98 | 99 | msgctxt "#30117" 100 | msgid "Remote URL" 101 | msgstr "Remote URL" 102 | 103 | msgctxt "#30118" 104 | msgid "Local Path" 105 | msgstr "Local Path" 106 | 107 | msgctxt "#30119" 108 | msgid "Advanced" 109 | msgstr "Advanced" 110 | 111 | msgctxt "#30120" 112 | msgid "Token" 113 | msgstr "Token" 114 | 115 | msgctxt "#30121" 116 | msgid "Serial Number" 117 | msgstr "Serial Number" 118 | 119 | msgctxt "#30122" 120 | msgid "Device ID" 121 | msgstr "Device ID" 122 | 123 | msgctxt "#30123" 124 | msgid "Device ID2" 125 | msgstr "Device ID2" 126 | 127 | msgctxt "#30124" 128 | msgid "Signature" 129 | msgstr "Signature" 130 | 131 | msgctxt "#30501" 132 | msgid "Unknown error. See log for details." 133 | msgstr "Unknown error. See log for details." 134 | 135 | msgctxt "#30502" 136 | msgid "Startup failed." 137 | msgstr "Startup failed." 138 | 139 | msgctxt "#30503" 140 | msgid "Failed to connect to server." 141 | msgstr "Failed to connect to server." 142 | 143 | msgctxt "#30504" 144 | msgid "Authentication failed. Retrying." 145 | msgstr "Authentication failed. Retrying." 146 | 147 | msgctxt "#30505" 148 | msgid "Unable to load channels." 149 | msgstr "Unable to load channels." 150 | 151 | msgctxt "#30506" 152 | msgid "Unable to load channel groups." 153 | msgstr "Unable to load channel groups." 154 | 155 | msgctxt "#30507" 156 | msgid "Unable to load guide." 157 | msgstr "Unable to load guide." 158 | 159 | msgctxt "#30508" 160 | msgid "Failed to get stream URL." 161 | msgstr "Failed to get stream URL." 162 | 163 | msgctxt "#30509" 164 | msgid "Authorization lost. Re-authenticating." 165 | msgstr "Authorization lost. Re-authenticating." 166 | 167 | msgctxt "#30510" 168 | msgid "Re-authenticated." 169 | msgstr "Re-authenticated." 170 | 171 | msgctxt "#31000" 172 | msgid "Portal 1" 173 | msgstr "Portal 1" 174 | 175 | msgctxt "#32000" 176 | msgid "Portal 2" 177 | msgstr "Portal 2" 178 | 179 | msgctxt "#33000" 180 | msgid "Portal 3" 181 | msgstr "Portal 3" 182 | 183 | msgctxt "#34000" 184 | msgid "Portal 4" 185 | msgstr "Portal 4" 186 | 187 | msgctxt "#35000" 188 | msgid "Portal 5" 189 | msgstr "Portal 5" 190 | -------------------------------------------------------------------------------- /pvr.stalker/resources/language/resource.language.af_za/strings.po: -------------------------------------------------------------------------------- 1 | # Kodi Media Center language file 2 | # Addon Name: Stalker Client 3 | # Addon id: pvr.stalker 4 | # Addon Provider: Jamal Edey 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: KODI Main\n" 8 | "Report-Msgid-Bugs-To: http://trac.kodi.tv/\n" 9 | "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" 10 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 11 | "Last-Translator: Kodi Translation Team\n" 12 | "Language-Team: Afrikaans (South Africa) (http://www.transifex.com/projects/p/kodi-main/language/af_ZA/)\n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: 8bit\n" 16 | "Language: af_ZA\n" 17 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 18 | 19 | msgctxt "#30000" 20 | msgid "General" 21 | msgstr "Algemeen" 22 | 23 | msgctxt "#30001" 24 | msgid "Active Portal" 25 | msgstr "Aktiewe Portaal" 26 | 27 | msgctxt "#30002" 28 | msgid "Misc" 29 | msgstr "Diverse" 30 | 31 | msgctxt "#30003" 32 | msgid "Connection Timeout (seconds)" 33 | msgstr "Konneksie tydverstreke (sekondes)" 34 | 35 | msgctxt "#30101" 36 | msgid "MAC Address" 37 | msgstr "MAC Adres" 38 | 39 | msgctxt "#30102" 40 | msgid "Server Address" 41 | msgstr "Bediener Adres" 42 | 43 | msgctxt "#30103" 44 | msgid "Time Zone" 45 | msgstr "Tyd Sone" 46 | 47 | msgctxt "#30104" 48 | msgid "Auth Credentials" 49 | msgstr "Waarmerk Bewyse" 50 | 51 | msgctxt "#30105" 52 | msgid "Login" 53 | msgstr "Teken in" 54 | 55 | msgctxt "#30106" 56 | msgid "Password" 57 | msgstr "Wagwoord" 58 | 59 | msgctxt "#30107" 60 | msgid "Guide" 61 | msgstr "Gids" 62 | 63 | msgctxt "#30108" 64 | msgid "Preference" 65 | msgstr "Voorkeur" 66 | 67 | msgctxt "#30109" 68 | msgid "Prefer Provider" 69 | msgstr "Verkies Verskaffer" 70 | 71 | msgctxt "#30110" 72 | msgid "Prefer XMLTV" 73 | msgstr "Verkies XMLTV" 74 | 75 | msgctxt "#30111" 76 | msgid "Provider Only" 77 | msgstr "Net Verskaffer" 78 | 79 | msgctxt "#30112" 80 | msgid "XMLTV Only" 81 | msgstr "Net XMLTV" 82 | 83 | msgctxt "#30113" 84 | msgid "Cache Guide Data" 85 | msgstr "Kas Gids Data" 86 | 87 | msgctxt "#30114" 88 | msgid "Cache Time (hours)" 89 | msgstr "Kas Tyd (ure)" 90 | 91 | msgctxt "#30115" 92 | msgid "XMLTV" 93 | msgstr "XMLTV" 94 | 95 | msgctxt "#30116" 96 | msgid "Scope" 97 | msgstr "Omvang" 98 | 99 | msgctxt "#30117" 100 | msgid "Remote URL" 101 | msgstr "Afgeleë URL" 102 | 103 | msgctxt "#30118" 104 | msgid "Local Path" 105 | msgstr "Lokale Pad" 106 | 107 | msgctxt "#30119" 108 | msgid "Advanced" 109 | msgstr "Gevorderde" 110 | 111 | msgctxt "#30120" 112 | msgid "Token" 113 | msgstr "Teken" 114 | 115 | msgctxt "#30121" 116 | msgid "Serial Number" 117 | msgstr "Serie Nommer" 118 | 119 | msgctxt "#30122" 120 | msgid "Device ID" 121 | msgstr "Toestel ID" 122 | 123 | msgctxt "#30123" 124 | msgid "Device ID2" 125 | msgstr "Toestel ID2" 126 | 127 | msgctxt "#30124" 128 | msgid "Signature" 129 | msgstr "Handtekening" 130 | 131 | msgctxt "#30501" 132 | msgid "Unknown error. See log for details." 133 | msgstr "Onbekende fout. Sien log vir besonderhede." 134 | 135 | msgctxt "#30502" 136 | msgid "Startup failed." 137 | msgstr "Begin het gefaal." 138 | 139 | msgctxt "#30503" 140 | msgid "Failed to connect to server." 141 | msgstr "Gefaal om aan bediener te konnekteer." 142 | 143 | msgctxt "#30504" 144 | msgid "Authentication failed. Retrying." 145 | msgstr "Waarmerking het gefaal. Probeer weer." 146 | 147 | msgctxt "#30505" 148 | msgid "Unable to load channels." 149 | msgstr "Kan nie kanale laai nie." 150 | 151 | msgctxt "#30506" 152 | msgid "Unable to load channel groups." 153 | msgstr "Kan nie kanaal groepe laai nie." 154 | 155 | msgctxt "#30507" 156 | msgid "Unable to load guide." 157 | msgstr "Kan nie gids laai nie." 158 | 159 | msgctxt "#30508" 160 | msgid "Failed to get stream URL." 161 | msgstr "Kry van stroom URL het gefaal." 162 | 163 | msgctxt "#30509" 164 | msgid "Authorization lost. Re-authenticating." 165 | msgstr "Magtiging verloor. Her-waarmerk." 166 | 167 | msgctxt "#30510" 168 | msgid "Re-authenticated." 169 | msgstr "Ge-her-waarmerk." 170 | 171 | msgctxt "#31000" 172 | msgid "Portal 1" 173 | msgstr "Portaal 1" 174 | 175 | msgctxt "#32000" 176 | msgid "Portal 2" 177 | msgstr "Portaal 2" 178 | 179 | msgctxt "#33000" 180 | msgid "Portal 3" 181 | msgstr "Portaal 3" 182 | 183 | msgctxt "#34000" 184 | msgid "Portal 4" 185 | msgstr "Portaal 4" 186 | 187 | msgctxt "#35000" 188 | msgid "Portal 5" 189 | msgstr "Portaal 5" 190 | -------------------------------------------------------------------------------- /pvr.stalker/resources/language/resource.language.nb_no/strings.po: -------------------------------------------------------------------------------- 1 | # Kodi Media Center language file 2 | # Addon Name: Stalker Client 3 | # Addon id: pvr.stalker 4 | # Addon Provider: Jamal Edey 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: KODI Main\n" 8 | "Report-Msgid-Bugs-To: http://trac.kodi.tv/\n" 9 | "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" 10 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 11 | "Last-Translator: Kodi Translation Team\n" 12 | "Language-Team: Norwegian Bokmål (Norway) (http://www.transifex.com/projects/p/kodi-main/language/nb_NO/)\n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: 8bit\n" 16 | "Language: nb_NO\n" 17 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 18 | 19 | msgctxt "#30000" 20 | msgid "General" 21 | msgstr "Generelt" 22 | 23 | msgctxt "#30001" 24 | msgid "Active Portal" 25 | msgstr "Aktiv Portal" 26 | 27 | msgctxt "#30002" 28 | msgid "Misc" 29 | msgstr "Diverse" 30 | 31 | msgctxt "#30003" 32 | msgid "Connection Timeout (seconds)" 33 | msgstr "Tilkobling Tidsavbrukk (sekunder)" 34 | 35 | msgctxt "#30101" 36 | msgid "MAC Address" 37 | msgstr "MAC-adresse" 38 | 39 | msgctxt "#30102" 40 | msgid "Server Address" 41 | msgstr "Tjeneradresse" 42 | 43 | msgctxt "#30103" 44 | msgid "Time Zone" 45 | msgstr "Tidssone" 46 | 47 | msgctxt "#30104" 48 | msgid "Auth Credentials" 49 | msgstr "Godkjen Legitimasjon" 50 | 51 | msgctxt "#30105" 52 | msgid "Login" 53 | msgstr "Innlogging" 54 | 55 | msgctxt "#30106" 56 | msgid "Password" 57 | msgstr "Passord" 58 | 59 | msgctxt "#30107" 60 | msgid "Guide" 61 | msgstr "Veileding" 62 | 63 | msgctxt "#30108" 64 | msgid "Preference" 65 | msgstr "Preferanse" 66 | 67 | msgctxt "#30109" 68 | msgid "Prefer Provider" 69 | msgstr "Foretrukket tilbyder" 70 | 71 | msgctxt "#30110" 72 | msgid "Prefer XMLTV" 73 | msgstr "Foretrekk XMLTV" 74 | 75 | msgctxt "#30111" 76 | msgid "Provider Only" 77 | msgstr "Kun Tilbyder" 78 | 79 | msgctxt "#30112" 80 | msgid "XMLTV Only" 81 | msgstr "Kun XMLTV" 82 | 83 | msgctxt "#30113" 84 | msgid "Cache Guide Data" 85 | msgstr "Lagret Guide Data" 86 | 87 | msgctxt "#30114" 88 | msgid "Cache Time (hours)" 89 | msgstr "Lagret Tid (timer)" 90 | 91 | msgctxt "#30115" 92 | msgid "XMLTV" 93 | msgstr "XMLTV" 94 | 95 | msgctxt "#30116" 96 | msgid "Scope" 97 | msgstr "Scope" 98 | 99 | msgctxt "#30117" 100 | msgid "Remote URL" 101 | msgstr "Ekstern URL" 102 | 103 | msgctxt "#30118" 104 | msgid "Local Path" 105 | msgstr "Lokal sti" 106 | 107 | msgctxt "#30119" 108 | msgid "Advanced" 109 | msgstr "Avansert" 110 | 111 | msgctxt "#30120" 112 | msgid "Token" 113 | msgstr "Pollett" 114 | 115 | msgctxt "#30121" 116 | msgid "Serial Number" 117 | msgstr "Produkt nøkkel" 118 | 119 | msgctxt "#30122" 120 | msgid "Device ID" 121 | msgstr "Enhets-ID" 122 | 123 | msgctxt "#30123" 124 | msgid "Device ID2" 125 | msgstr "Enhets-ID2" 126 | 127 | msgctxt "#30124" 128 | msgid "Signature" 129 | msgstr "Signatur" 130 | 131 | msgctxt "#30501" 132 | msgid "Unknown error. See log for details." 133 | msgstr "Ukjent feil. Sjekk logg for detaljer." 134 | 135 | msgctxt "#30502" 136 | msgid "Startup failed." 137 | msgstr "Oppstart feilet." 138 | 139 | msgctxt "#30503" 140 | msgid "Failed to connect to server." 141 | msgstr "Tilkobling til tjener feilet." 142 | 143 | msgctxt "#30504" 144 | msgid "Authentication failed. Retrying." 145 | msgstr "Autentisering feilet. Prøver igjen." 146 | 147 | msgctxt "#30505" 148 | msgid "Unable to load channels." 149 | msgstr "Kunne i hente kanaler." 150 | 151 | msgctxt "#30506" 152 | msgid "Unable to load channel groups." 153 | msgstr "Kunne ikke hente kanal grupper." 154 | 155 | msgctxt "#30507" 156 | msgid "Unable to load guide." 157 | msgstr "Kunne ikke hente guide." 158 | 159 | msgctxt "#30508" 160 | msgid "Failed to get stream URL." 161 | msgstr "Kunne ikke hente strøm URL." 162 | 163 | msgctxt "#30509" 164 | msgid "Authorization lost. Re-authenticating." 165 | msgstr "Autentisering tapt. Autentisering på nytt." 166 | 167 | msgctxt "#30510" 168 | msgid "Re-authenticated." 169 | msgstr "Reautentiserer." 170 | 171 | msgctxt "#31000" 172 | msgid "Portal 1" 173 | msgstr "Portal 1" 174 | 175 | msgctxt "#32000" 176 | msgid "Portal 2" 177 | msgstr "Portal 2" 178 | 179 | msgctxt "#33000" 180 | msgid "Portal 3" 181 | msgstr "Portal 3" 182 | 183 | msgctxt "#34000" 184 | msgid "Portal 4" 185 | msgstr "Portal 4" 186 | 187 | msgctxt "#35000" 188 | msgid "Portal 5" 189 | msgstr "Portal 5" 190 | -------------------------------------------------------------------------------- /pvr.stalker/resources/language/resource.language.sv_se/strings.po: -------------------------------------------------------------------------------- 1 | # Kodi Media Center language file 2 | # Addon Name: Stalker Client 3 | # Addon id: pvr.stalker 4 | # Addon Provider: Jamal Edey 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: KODI Main\n" 8 | "Report-Msgid-Bugs-To: http://trac.kodi.tv/\n" 9 | "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" 10 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 11 | "Last-Translator: Kodi Translation Team\n" 12 | "Language-Team: Swedish (Sweden) (http://www.transifex.com/projects/p/kodi-main/language/sv_SE/)\n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: 8bit\n" 16 | "Language: sv_SE\n" 17 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 18 | 19 | msgctxt "#30000" 20 | msgid "General" 21 | msgstr "Generellt" 22 | 23 | msgctxt "#30001" 24 | msgid "Active Portal" 25 | msgstr "Aktiv portal" 26 | 27 | msgctxt "#30002" 28 | msgid "Misc" 29 | msgstr "Övrigt" 30 | 31 | msgctxt "#30003" 32 | msgid "Connection Timeout (seconds)" 33 | msgstr "Anslutnings Avbrott (sekunder)" 34 | 35 | msgctxt "#30101" 36 | msgid "MAC Address" 37 | msgstr "Hårdvaruadress" 38 | 39 | msgctxt "#30102" 40 | msgid "Server Address" 41 | msgstr "Serveradress" 42 | 43 | msgctxt "#30103" 44 | msgid "Time Zone" 45 | msgstr "Tidszon" 46 | 47 | msgctxt "#30104" 48 | msgid "Auth Credentials" 49 | msgstr "Inloggningsuppgifter" 50 | 51 | msgctxt "#30105" 52 | msgid "Login" 53 | msgstr "Logga in" 54 | 55 | msgctxt "#30106" 56 | msgid "Password" 57 | msgstr "Lösenord" 58 | 59 | msgctxt "#30107" 60 | msgid "Guide" 61 | msgstr "Guide" 62 | 63 | msgctxt "#30108" 64 | msgid "Preference" 65 | msgstr "Preferens" 66 | 67 | msgctxt "#30109" 68 | msgid "Prefer Provider" 69 | msgstr "Föredra leverantör" 70 | 71 | msgctxt "#30110" 72 | msgid "Prefer XMLTV" 73 | msgstr "Föredra XMLTV" 74 | 75 | msgctxt "#30111" 76 | msgid "Provider Only" 77 | msgstr "Endast leverantör" 78 | 79 | msgctxt "#30112" 80 | msgid "XMLTV Only" 81 | msgstr "Endast XMLTV" 82 | 83 | msgctxt "#30113" 84 | msgid "Cache Guide Data" 85 | msgstr "Cache Guide Data" 86 | 87 | msgctxt "#30114" 88 | msgid "Cache Time (hours)" 89 | msgstr "Cache Tid (timmar)" 90 | 91 | msgctxt "#30115" 92 | msgid "XMLTV" 93 | msgstr "XMLTV" 94 | 95 | msgctxt "#30116" 96 | msgid "Scope" 97 | msgstr "Omfattning" 98 | 99 | msgctxt "#30117" 100 | msgid "Remote URL" 101 | msgstr "Fjärr-URL" 102 | 103 | msgctxt "#30118" 104 | msgid "Local Path" 105 | msgstr "Lokal sökväg" 106 | 107 | msgctxt "#30119" 108 | msgid "Advanced" 109 | msgstr "Avancerat" 110 | 111 | msgctxt "#30120" 112 | msgid "Token" 113 | msgstr "Token" 114 | 115 | msgctxt "#30121" 116 | msgid "Serial Number" 117 | msgstr "Serienummer" 118 | 119 | msgctxt "#30122" 120 | msgid "Device ID" 121 | msgstr "Enhets-ID" 122 | 123 | msgctxt "#30123" 124 | msgid "Device ID2" 125 | msgstr "Enhets-ID 2" 126 | 127 | msgctxt "#30124" 128 | msgid "Signature" 129 | msgstr "Signatur" 130 | 131 | msgctxt "#30501" 132 | msgid "Unknown error. See log for details." 133 | msgstr "Oväntat fel. Kolla loggarna för detaljer." 134 | 135 | msgctxt "#30502" 136 | msgid "Startup failed." 137 | msgstr "Uppstart misslyckades." 138 | 139 | msgctxt "#30503" 140 | msgid "Failed to connect to server." 141 | msgstr "Kunde inte ansluta till server." 142 | 143 | msgctxt "#30504" 144 | msgid "Authentication failed. Retrying." 145 | msgstr "Autentisering misslyckades. Försöker igen." 146 | 147 | msgctxt "#30505" 148 | msgid "Unable to load channels." 149 | msgstr "Kunde inte ladda kanaler." 150 | 151 | msgctxt "#30506" 152 | msgid "Unable to load channel groups." 153 | msgstr "Kunde inte ladda kanalgrupper." 154 | 155 | msgctxt "#30507" 156 | msgid "Unable to load guide." 157 | msgstr "Kan inte ladda guide." 158 | 159 | msgctxt "#30508" 160 | msgid "Failed to get stream URL." 161 | msgstr "Kunde inte hämta stream URL." 162 | 163 | msgctxt "#30509" 164 | msgid "Authorization lost. Re-authenticating." 165 | msgstr "Tillstånd förlorades. Åter-autentiseringar." 166 | 167 | msgctxt "#30510" 168 | msgid "Re-authenticated." 169 | msgstr "Åter-autentiserad." 170 | 171 | msgctxt "#31000" 172 | msgid "Portal 1" 173 | msgstr "Portal 1" 174 | 175 | msgctxt "#32000" 176 | msgid "Portal 2" 177 | msgstr "Portal 2" 178 | 179 | msgctxt "#33000" 180 | msgid "Portal 3" 181 | msgstr "Portal 3" 182 | 183 | msgctxt "#34000" 184 | msgid "Portal 4" 185 | msgstr "Portal 4" 186 | 187 | msgctxt "#35000" 188 | msgid "Portal 5" 189 | msgstr "Portal 5" 190 | -------------------------------------------------------------------------------- /pvr.stalker/resources/language/resource.language.ms_my/strings.po: -------------------------------------------------------------------------------- 1 | # Kodi Media Center language file 2 | # Addon Name: Stalker Client 3 | # Addon id: pvr.stalker 4 | # Addon Provider: Jamal Edey 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: KODI Main\n" 8 | "Report-Msgid-Bugs-To: http://trac.kodi.tv/\n" 9 | "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" 10 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 11 | "Last-Translator: Kodi Translation Team\n" 12 | "Language-Team: Malay (Malaysia) (http://www.transifex.com/projects/p/kodi-main/language/ms_MY/)\n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: 8bit\n" 16 | "Language: ms_MY\n" 17 | "Plural-Forms: nplurals=1; plural=0;\n" 18 | 19 | msgctxt "#30000" 20 | msgid "General" 21 | msgstr "Am" 22 | 23 | msgctxt "#30001" 24 | msgid "Active Portal" 25 | msgstr "Portal Aktif" 26 | 27 | msgctxt "#30002" 28 | msgid "Misc" 29 | msgstr "Pelbagai" 30 | 31 | msgctxt "#30003" 32 | msgid "Connection Timeout (seconds)" 33 | msgstr "Had Masa tamat Smbungan (saat)" 34 | 35 | msgctxt "#30101" 36 | msgid "MAC Address" 37 | msgstr "Alamat MAC" 38 | 39 | msgctxt "#30102" 40 | msgid "Server Address" 41 | msgstr "Alamat Pelayan" 42 | 43 | msgctxt "#30103" 44 | msgid "Time Zone" 45 | msgstr "Zon Waktu" 46 | 47 | msgctxt "#30104" 48 | msgid "Auth Credentials" 49 | msgstr "Kelayakan Pengesahihan" 50 | 51 | msgctxt "#30105" 52 | msgid "Login" 53 | msgstr "Daftar Masuk" 54 | 55 | msgctxt "#30106" 56 | msgid "Password" 57 | msgstr "Kata Laluan" 58 | 59 | msgctxt "#30107" 60 | msgid "Guide" 61 | msgstr "Panduan" 62 | 63 | msgctxt "#30108" 64 | msgid "Preference" 65 | msgstr "Keutamaan" 66 | 67 | msgctxt "#30109" 68 | msgid "Prefer Provider" 69 | msgstr "Utamakan Penyedia" 70 | 71 | msgctxt "#30110" 72 | msgid "Prefer XMLTV" 73 | msgstr "Utamakan XMLTV" 74 | 75 | msgctxt "#30111" 76 | msgid "Provider Only" 77 | msgstr "Penyedia Sahaja" 78 | 79 | msgctxt "#30112" 80 | msgid "XMLTV Only" 81 | msgstr "XMLTV Sahaja" 82 | 83 | msgctxt "#30113" 84 | msgid "Cache Guide Data" 85 | msgstr "Cache Data Panduan" 86 | 87 | msgctxt "#30114" 88 | msgid "Cache Time (hours)" 89 | msgstr "Cache Masa (jam)" 90 | 91 | msgctxt "#30115" 92 | msgid "XMLTV" 93 | msgstr "XMLTV" 94 | 95 | msgctxt "#30116" 96 | msgid "Scope" 97 | msgstr "Skop" 98 | 99 | msgctxt "#30117" 100 | msgid "Remote URL" 101 | msgstr "URL Jauh" 102 | 103 | msgctxt "#30118" 104 | msgid "Local Path" 105 | msgstr "Laluan Setempat" 106 | 107 | msgctxt "#30119" 108 | msgid "Advanced" 109 | msgstr "Lanjutan" 110 | 111 | msgctxt "#30120" 112 | msgid "Token" 113 | msgstr "Token" 114 | 115 | msgctxt "#30121" 116 | msgid "Serial Number" 117 | msgstr "Nombor Siri" 118 | 119 | msgctxt "#30122" 120 | msgid "Device ID" 121 | msgstr "ID Peranti" 122 | 123 | msgctxt "#30123" 124 | msgid "Device ID2" 125 | msgstr "ID Peranti2" 126 | 127 | msgctxt "#30124" 128 | msgid "Signature" 129 | msgstr "Tandatangan" 130 | 131 | msgctxt "#30501" 132 | msgid "Unknown error. See log for details." 133 | msgstr "Ralat tidak diketahui. Lihat log untuk perincian." 134 | 135 | msgctxt "#30502" 136 | msgid "Startup failed." 137 | msgstr "Permulaan gagal." 138 | 139 | msgctxt "#30503" 140 | msgid "Failed to connect to server." 141 | msgstr "gagal menyambung ke pelayan." 142 | 143 | msgctxt "#30504" 144 | msgid "Authentication failed. Retrying." 145 | msgstr "Pengesahihan gagal. Mencuba sekali lagi." 146 | 147 | msgctxt "#30505" 148 | msgid "Unable to load channels." 149 | msgstr "Tidak boleh muatkan saluran." 150 | 151 | msgctxt "#30506" 152 | msgid "Unable to load channel groups." 153 | msgstr "Tidak boleh muatkan kumpulan saluran." 154 | 155 | msgctxt "#30507" 156 | msgid "Unable to load guide." 157 | msgstr "Tidak boleh muatkan panduan." 158 | 159 | msgctxt "#30508" 160 | msgid "Failed to get stream URL." 161 | msgstr "Gagal dapatkan URL strim." 162 | 163 | msgctxt "#30509" 164 | msgid "Authorization lost. Re-authenticating." 165 | msgstr "Pengesahihan hilang. Disahihkan-semula." 166 | 167 | msgctxt "#30510" 168 | msgid "Re-authenticated." 169 | msgstr "Disahihkan-semula." 170 | 171 | msgctxt "#31000" 172 | msgid "Portal 1" 173 | msgstr "Portal 1" 174 | 175 | msgctxt "#32000" 176 | msgid "Portal 2" 177 | msgstr "Portal 2" 178 | 179 | msgctxt "#33000" 180 | msgid "Portal 3" 181 | msgstr "Portal 3" 182 | 183 | msgctxt "#34000" 184 | msgid "Portal 4" 185 | msgstr "Portal 4" 186 | 187 | msgctxt "#35000" 188 | msgid "Portal 5" 189 | msgstr "Portal 5" 190 | -------------------------------------------------------------------------------- /pvr.stalker/resources/language/resource.language.nl_nl/strings.po: -------------------------------------------------------------------------------- 1 | # Kodi Media Center language file 2 | # Addon Name: Stalker Client 3 | # Addon id: pvr.stalker 4 | # Addon Provider: Jamal Edey 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: KODI Main\n" 8 | "Report-Msgid-Bugs-To: http://trac.kodi.tv/\n" 9 | "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" 10 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 11 | "Last-Translator: Kodi Translation Team\n" 12 | "Language-Team: Dutch (Netherlands) (http://www.transifex.com/projects/p/kodi-main/language/nl_NL/)\n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: 8bit\n" 16 | "Language: nl_NL\n" 17 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 18 | 19 | msgctxt "#30000" 20 | msgid "General" 21 | msgstr "Algemeen" 22 | 23 | msgctxt "#30001" 24 | msgid "Active Portal" 25 | msgstr "Actieve portaal" 26 | 27 | msgctxt "#30002" 28 | msgid "Misc" 29 | msgstr " Divers" 30 | 31 | msgctxt "#30003" 32 | msgid "Connection Timeout (seconds)" 33 | msgstr "Connectie time-out (seconden)" 34 | 35 | msgctxt "#30101" 36 | msgid "MAC Address" 37 | msgstr "MAC-Adres" 38 | 39 | msgctxt "#30102" 40 | msgid "Server Address" 41 | msgstr "Server adres" 42 | 43 | msgctxt "#30103" 44 | msgid "Time Zone" 45 | msgstr "Tijdszone" 46 | 47 | msgctxt "#30104" 48 | msgid "Auth Credentials" 49 | msgstr "Authenticatie gegevens" 50 | 51 | msgctxt "#30105" 52 | msgid "Login" 53 | msgstr "Log-in" 54 | 55 | msgctxt "#30106" 56 | msgid "Password" 57 | msgstr "Wachtwoord" 58 | 59 | msgctxt "#30107" 60 | msgid "Guide" 61 | msgstr "Gids" 62 | 63 | msgctxt "#30108" 64 | msgid "Preference" 65 | msgstr "Voorkeur" 66 | 67 | msgctxt "#30109" 68 | msgid "Prefer Provider" 69 | msgstr "Voorkeursprovider" 70 | 71 | msgctxt "#30110" 72 | msgid "Prefer XMLTV" 73 | msgstr "XMLTV voorkeur" 74 | 75 | msgctxt "#30111" 76 | msgid "Provider Only" 77 | msgstr "Enkel Provider" 78 | 79 | msgctxt "#30112" 80 | msgid "XMLTV Only" 81 | msgstr "EnkelXMLTV" 82 | 83 | msgctxt "#30113" 84 | msgid "Cache Guide Data" 85 | msgstr "Buffer gids data" 86 | 87 | msgctxt "#30114" 88 | msgid "Cache Time (hours)" 89 | msgstr "Buffer tijd (uren)" 90 | 91 | msgctxt "#30115" 92 | msgid "XMLTV" 93 | msgstr "XMLTV" 94 | 95 | msgctxt "#30116" 96 | msgid "Scope" 97 | msgstr "Omvang" 98 | 99 | msgctxt "#30117" 100 | msgid "Remote URL" 101 | msgstr "Afstand URL" 102 | 103 | msgctxt "#30118" 104 | msgid "Local Path" 105 | msgstr "Lokale locatie" 106 | 107 | msgctxt "#30119" 108 | msgid "Advanced" 109 | msgstr "Geavanceerd" 110 | 111 | msgctxt "#30120" 112 | msgid "Token" 113 | msgstr "Token" 114 | 115 | msgctxt "#30121" 116 | msgid "Serial Number" 117 | msgstr "Serie nummer" 118 | 119 | msgctxt "#30122" 120 | msgid "Device ID" 121 | msgstr "Apparaat ID" 122 | 123 | msgctxt "#30123" 124 | msgid "Device ID2" 125 | msgstr "Apparaat ID2" 126 | 127 | msgctxt "#30124" 128 | msgid "Signature" 129 | msgstr "Handtekening" 130 | 131 | msgctxt "#30501" 132 | msgid "Unknown error. See log for details." 133 | msgstr "Onbekende fout. Zie het log voor meer details." 134 | 135 | msgctxt "#30502" 136 | msgid "Startup failed." 137 | msgstr "Opstart mislukt." 138 | 139 | msgctxt "#30503" 140 | msgid "Failed to connect to server." 141 | msgstr "Niet gelukt te verbinden met server." 142 | 143 | msgctxt "#30504" 144 | msgid "Authentication failed. Retrying." 145 | msgstr "Authenticatie mislukt. Probeert nogmaals." 146 | 147 | msgctxt "#30505" 148 | msgid "Unable to load channels." 149 | msgstr "Niet gelukt kanalen te laden." 150 | 151 | msgctxt "#30506" 152 | msgid "Unable to load channel groups." 153 | msgstr "Niet gelukt kanaalgroepen te laden." 154 | 155 | msgctxt "#30507" 156 | msgid "Unable to load guide." 157 | msgstr "Niet gelukt de gids te laden." 158 | 159 | msgctxt "#30508" 160 | msgid "Failed to get stream URL." 161 | msgstr "Niet gelukt de stream URL. te verkrijgen." 162 | 163 | msgctxt "#30509" 164 | msgid "Authorization lost. Re-authenticating." 165 | msgstr "Autorisatie kwijt. Her-authenticeren." 166 | 167 | msgctxt "#30510" 168 | msgid "Re-authenticated." 169 | msgstr "Her-authenticeerd" 170 | 171 | msgctxt "#31000" 172 | msgid "Portal 1" 173 | msgstr "Portaal 1" 174 | 175 | msgctxt "#32000" 176 | msgid "Portal 2" 177 | msgstr "Portaal 2" 178 | 179 | msgctxt "#33000" 180 | msgid "Portal 3" 181 | msgstr "Portaal 3" 182 | 183 | msgctxt "#34000" 184 | msgid "Portal 4" 185 | msgstr "Portaal 4" 186 | 187 | msgctxt "#35000" 188 | msgid "Portal 5" 189 | msgstr "Portaal 5" 190 | -------------------------------------------------------------------------------- /pvr.stalker/resources/language/resource.language.it_it/strings.po: -------------------------------------------------------------------------------- 1 | # Kodi Media Center language file 2 | # Addon Name: Stalker Client 3 | # Addon id: pvr.stalker 4 | # Addon Provider: Jamal Edey 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: KODI Main\n" 8 | "Report-Msgid-Bugs-To: http://trac.kodi.tv/\n" 9 | "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" 10 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 11 | "Last-Translator: Kodi Translation Team\n" 12 | "Language-Team: Italian (Italy) (http://www.transifex.com/projects/p/kodi-main/language/it_IT/)\n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: 8bit\n" 16 | "Language: it_IT\n" 17 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 18 | 19 | msgctxt "#30000" 20 | msgid "General" 21 | msgstr "Generale" 22 | 23 | msgctxt "#30001" 24 | msgid "Active Portal" 25 | msgstr "Portale attivo" 26 | 27 | msgctxt "#30002" 28 | msgid "Misc" 29 | msgstr "Varie" 30 | 31 | msgctxt "#30003" 32 | msgid "Connection Timeout (seconds)" 33 | msgstr "Timeout connessione (secondi)" 34 | 35 | msgctxt "#30101" 36 | msgid "MAC Address" 37 | msgstr "Indirizzo MAC" 38 | 39 | msgctxt "#30102" 40 | msgid "Server Address" 41 | msgstr "Indirizzo server" 42 | 43 | msgctxt "#30103" 44 | msgid "Time Zone" 45 | msgstr "Fuso orario" 46 | 47 | msgctxt "#30104" 48 | msgid "Auth Credentials" 49 | msgstr "Credenziali accesso" 50 | 51 | msgctxt "#30105" 52 | msgid "Login" 53 | msgstr "Login" 54 | 55 | msgctxt "#30106" 56 | msgid "Password" 57 | msgstr "Password" 58 | 59 | msgctxt "#30107" 60 | msgid "Guide" 61 | msgstr "Guida" 62 | 63 | msgctxt "#30108" 64 | msgid "Preference" 65 | msgstr "Preferenza" 66 | 67 | msgctxt "#30109" 68 | msgid "Prefer Provider" 69 | msgstr "Preferisci provider" 70 | 71 | msgctxt "#30110" 72 | msgid "Prefer XMLTV" 73 | msgstr "Preferisci XMLTV" 74 | 75 | msgctxt "#30111" 76 | msgid "Provider Only" 77 | msgstr "Solo provider" 78 | 79 | msgctxt "#30112" 80 | msgid "XMLTV Only" 81 | msgstr "Solo XMLTV" 82 | 83 | msgctxt "#30113" 84 | msgid "Cache Guide Data" 85 | msgstr "Cache dei dati delle guida" 86 | 87 | msgctxt "#30114" 88 | msgid "Cache Time (hours)" 89 | msgstr "Tempo della cache (ore)" 90 | 91 | msgctxt "#30115" 92 | msgid "XMLTV" 93 | msgstr "XMLTV" 94 | 95 | msgctxt "#30116" 96 | msgid "Scope" 97 | msgstr "Ambito" 98 | 99 | msgctxt "#30117" 100 | msgid "Remote URL" 101 | msgstr "URL remoto" 102 | 103 | msgctxt "#30118" 104 | msgid "Local Path" 105 | msgstr "Percorso locale" 106 | 107 | msgctxt "#30119" 108 | msgid "Advanced" 109 | msgstr "Avanzato" 110 | 111 | msgctxt "#30120" 112 | msgid "Token" 113 | msgstr "Permesso" 114 | 115 | msgctxt "#30121" 116 | msgid "Serial Number" 117 | msgstr "Numero seriale" 118 | 119 | msgctxt "#30122" 120 | msgid "Device ID" 121 | msgstr "ID dispositivo" 122 | 123 | msgctxt "#30123" 124 | msgid "Device ID2" 125 | msgstr "ID2 dispositivo" 126 | 127 | msgctxt "#30124" 128 | msgid "Signature" 129 | msgstr "Firma" 130 | 131 | msgctxt "#30501" 132 | msgid "Unknown error. See log for details." 133 | msgstr "Errore sconosciuto. Vedi i log per i dettagli." 134 | 135 | msgctxt "#30502" 136 | msgid "Startup failed." 137 | msgstr "Avvio fallito." 138 | 139 | msgctxt "#30503" 140 | msgid "Failed to connect to server." 141 | msgstr "Connessione al server fallita." 142 | 143 | msgctxt "#30504" 144 | msgid "Authentication failed. Retrying." 145 | msgstr "Autenticazione fallita. Riprovando." 146 | 147 | msgctxt "#30505" 148 | msgid "Unable to load channels." 149 | msgstr "Impossibile caricare i canali." 150 | 151 | msgctxt "#30506" 152 | msgid "Unable to load channel groups." 153 | msgstr "Impossibile caricare i gruppi dei canali." 154 | 155 | msgctxt "#30507" 156 | msgid "Unable to load guide." 157 | msgstr "Impossibile caricare la guida." 158 | 159 | msgctxt "#30508" 160 | msgid "Failed to get stream URL." 161 | msgstr "Ottenimento dell'URL dello stream fallito." 162 | 163 | msgctxt "#30509" 164 | msgid "Authorization lost. Re-authenticating." 165 | msgstr "Autorizzazione persa. Ri-autenticazione." 166 | 167 | msgctxt "#30510" 168 | msgid "Re-authenticated." 169 | msgstr "Ri-autenticato." 170 | 171 | msgctxt "#31000" 172 | msgid "Portal 1" 173 | msgstr "Portale 1" 174 | 175 | msgctxt "#32000" 176 | msgid "Portal 2" 177 | msgstr "Portale 2" 178 | 179 | msgctxt "#33000" 180 | msgid "Portal 3" 181 | msgstr "Portale 3" 182 | 183 | msgctxt "#34000" 184 | msgid "Portal 4" 185 | msgstr "Portale 4" 186 | 187 | msgctxt "#35000" 188 | msgid "Portal 5" 189 | msgstr "Portale 5" 190 | -------------------------------------------------------------------------------- /pvr.stalker/resources/language/resource.language.cs_cz/strings.po: -------------------------------------------------------------------------------- 1 | # Kodi Media Center language file 2 | # Addon Name: Stalker Client 3 | # Addon id: pvr.stalker 4 | # Addon Provider: Jamal Edey 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: KODI Main\n" 8 | "Report-Msgid-Bugs-To: http://trac.kodi.tv/\n" 9 | "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" 10 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 11 | "Last-Translator: Kodi Translation Team\n" 12 | "Language-Team: Czech (Czech Republic) (http://www.transifex.com/projects/p/kodi-main/language/cs_CZ/)\n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: 8bit\n" 16 | "Language: cs_CZ\n" 17 | "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" 18 | 19 | msgctxt "#30000" 20 | msgid "General" 21 | msgstr "Hlavní" 22 | 23 | msgctxt "#30001" 24 | msgid "Active Portal" 25 | msgstr "Activní portál" 26 | 27 | msgctxt "#30002" 28 | msgid "Misc" 29 | msgstr "Různé" 30 | 31 | msgctxt "#30003" 32 | msgid "Connection Timeout (seconds)" 33 | msgstr "Časový limit spojení (v sekundách)" 34 | 35 | msgctxt "#30101" 36 | msgid "MAC Address" 37 | msgstr "MAC Adresa" 38 | 39 | msgctxt "#30102" 40 | msgid "Server Address" 41 | msgstr "Adresa serveru" 42 | 43 | msgctxt "#30103" 44 | msgid "Time Zone" 45 | msgstr "Časové pásmo" 46 | 47 | msgctxt "#30104" 48 | msgid "Auth Credentials" 49 | msgstr "Přihlašovací údaje" 50 | 51 | msgctxt "#30105" 52 | msgid "Login" 53 | msgstr "Přihlášení" 54 | 55 | msgctxt "#30106" 56 | msgid "Password" 57 | msgstr "Heslo" 58 | 59 | msgctxt "#30107" 60 | msgid "Guide" 61 | msgstr "Průvodce" 62 | 63 | msgctxt "#30108" 64 | msgid "Preference" 65 | msgstr "Nastavení" 66 | 67 | msgctxt "#30109" 68 | msgid "Prefer Provider" 69 | msgstr "Preferovaný poskytovatel" 70 | 71 | msgctxt "#30110" 72 | msgid "Prefer XMLTV" 73 | msgstr "Preferovaná XMLTV" 74 | 75 | msgctxt "#30111" 76 | msgid "Provider Only" 77 | msgstr "Pouze poskytovatel" 78 | 79 | msgctxt "#30112" 80 | msgid "XMLTV Only" 81 | msgstr "Pouze XMLTV" 82 | 83 | msgctxt "#30113" 84 | msgid "Cache Guide Data" 85 | msgstr "Uložit tel. program do mezipaměti." 86 | 87 | msgctxt "#30114" 88 | msgid "Cache Time (hours)" 89 | msgstr "Doba uložení mezipaměti (v hodinách)" 90 | 91 | msgctxt "#30115" 92 | msgid "XMLTV" 93 | msgstr "XMLTV" 94 | 95 | msgctxt "#30116" 96 | msgid "Scope" 97 | msgstr "Rozsah" 98 | 99 | msgctxt "#30117" 100 | msgid "Remote URL" 101 | msgstr "Vzdálená adresa" 102 | 103 | msgctxt "#30118" 104 | msgid "Local Path" 105 | msgstr "Místní cesta" 106 | 107 | msgctxt "#30119" 108 | msgid "Advanced" 109 | msgstr "Pokročilé" 110 | 111 | msgctxt "#30120" 112 | msgid "Token" 113 | msgstr "Token" 114 | 115 | msgctxt "#30121" 116 | msgid "Serial Number" 117 | msgstr "Sériové číslo" 118 | 119 | msgctxt "#30122" 120 | msgid "Device ID" 121 | msgstr "ID zařízení" 122 | 123 | msgctxt "#30123" 124 | msgid "Device ID2" 125 | msgstr "ID2 zařízení" 126 | 127 | msgctxt "#30124" 128 | msgid "Signature" 129 | msgstr "Podpis" 130 | 131 | msgctxt "#30501" 132 | msgid "Unknown error. See log for details." 133 | msgstr "Neznámá chyba. Zkontrolujte log pro více informací." 134 | 135 | msgctxt "#30502" 136 | msgid "Startup failed." 137 | msgstr "Spuštění selhalo" 138 | 139 | msgctxt "#30503" 140 | msgid "Failed to connect to server." 141 | msgstr "Selhalo připojení k serveru." 142 | 143 | msgctxt "#30504" 144 | msgid "Authentication failed. Retrying." 145 | msgstr "Selhala autentifikace. Zkouším znovu." 146 | 147 | msgctxt "#30505" 148 | msgid "Unable to load channels." 149 | msgstr "Nelze načíst kanály." 150 | 151 | msgctxt "#30506" 152 | msgid "Unable to load channel groups." 153 | msgstr "Nelze načíst skupiny kanálů." 154 | 155 | msgctxt "#30507" 156 | msgid "Unable to load guide." 157 | msgstr "Nelze načíst program." 158 | 159 | msgctxt "#30508" 160 | msgid "Failed to get stream URL." 161 | msgstr "Nelze načíst URL streamu." 162 | 163 | msgctxt "#30509" 164 | msgid "Authorization lost. Re-authenticating." 165 | msgstr "Autorizace ztracena. Znovu autorizuji." 166 | 167 | msgctxt "#30510" 168 | msgid "Re-authenticated." 169 | msgstr "Znovu autorizováno." 170 | 171 | msgctxt "#31000" 172 | msgid "Portal 1" 173 | msgstr "Portál 1" 174 | 175 | msgctxt "#32000" 176 | msgid "Portal 2" 177 | msgstr "Portál 2" 178 | 179 | msgctxt "#33000" 180 | msgid "Portal 3" 181 | msgstr "Portál 3" 182 | 183 | msgctxt "#34000" 184 | msgid "Portal 4" 185 | msgstr "Portál 4" 186 | 187 | msgctxt "#35000" 188 | msgid "Portal 5" 189 | msgstr "Portál 5" 190 | -------------------------------------------------------------------------------- /pvr.stalker/resources/language/resource.language.fi_fi/strings.po: -------------------------------------------------------------------------------- 1 | # Kodi Media Center language file 2 | # Addon Name: Stalker Client 3 | # Addon id: pvr.stalker 4 | # Addon Provider: Jamal Edey 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: KODI Main\n" 8 | "Report-Msgid-Bugs-To: http://trac.kodi.tv/\n" 9 | "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" 10 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 11 | "Last-Translator: Kodi Translation Team\n" 12 | "Language-Team: Finnish (Finland) (http://www.transifex.com/projects/p/kodi-main/language/fi_FI/)\n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: 8bit\n" 16 | "Language: fi_FI\n" 17 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 18 | 19 | msgctxt "#30000" 20 | msgid "General" 21 | msgstr "Yleiset" 22 | 23 | msgctxt "#30001" 24 | msgid "Active Portal" 25 | msgstr "Aktiivinen portaali" 26 | 27 | msgctxt "#30002" 28 | msgid "Misc" 29 | msgstr "Muut" 30 | 31 | msgctxt "#30003" 32 | msgid "Connection Timeout (seconds)" 33 | msgstr "Yhteyden aikakatkaisu (sekuntia)" 34 | 35 | msgctxt "#30101" 36 | msgid "MAC Address" 37 | msgstr "MAC-osoite" 38 | 39 | msgctxt "#30102" 40 | msgid "Server Address" 41 | msgstr "Palvelimen osoite" 42 | 43 | msgctxt "#30103" 44 | msgid "Time Zone" 45 | msgstr "Aikavyöhyke" 46 | 47 | msgctxt "#30104" 48 | msgid "Auth Credentials" 49 | msgstr "Todennustiedot" 50 | 51 | msgctxt "#30105" 52 | msgid "Login" 53 | msgstr "Kirjaudu" 54 | 55 | msgctxt "#30106" 56 | msgid "Password" 57 | msgstr "Salasana" 58 | 59 | msgctxt "#30107" 60 | msgid "Guide" 61 | msgstr "Ohjelmaopas" 62 | 63 | msgctxt "#30108" 64 | msgid "Preference" 65 | msgstr "Asetukset" 66 | 67 | msgctxt "#30109" 68 | msgid "Prefer Provider" 69 | msgstr "Suosi tarjoajaa" 70 | 71 | msgctxt "#30110" 72 | msgid "Prefer XMLTV" 73 | msgstr "Suosi XMLTV:tä" 74 | 75 | msgctxt "#30111" 76 | msgid "Provider Only" 77 | msgstr "Vain tarjoaja" 78 | 79 | msgctxt "#30112" 80 | msgid "XMLTV Only" 81 | msgstr "Vain XMLTV" 82 | 83 | msgctxt "#30113" 84 | msgid "Cache Guide Data" 85 | msgstr "Tallenna ohjelmatiedot tietokantaan" 86 | 87 | msgctxt "#30114" 88 | msgid "Cache Time (hours)" 89 | msgstr "Välimuistin koko (tunteina)" 90 | 91 | msgctxt "#30115" 92 | msgid "XMLTV" 93 | msgstr "XMLTV" 94 | 95 | msgctxt "#30116" 96 | msgid "Scope" 97 | msgstr "Laajuus" 98 | 99 | msgctxt "#30117" 100 | msgid "Remote URL" 101 | msgstr "Etäpalvelimen URL" 102 | 103 | msgctxt "#30118" 104 | msgid "Local Path" 105 | msgstr "Paikallinen polku" 106 | 107 | msgctxt "#30119" 108 | msgid "Advanced" 109 | msgstr "Lisäasetukset" 110 | 111 | msgctxt "#30120" 112 | msgid "Token" 113 | msgstr "Merkki" 114 | 115 | msgctxt "#30121" 116 | msgid "Serial Number" 117 | msgstr "Sarjanumero" 118 | 119 | msgctxt "#30122" 120 | msgid "Device ID" 121 | msgstr "Laite ID" 122 | 123 | msgctxt "#30123" 124 | msgid "Device ID2" 125 | msgstr "Laite ID2" 126 | 127 | msgctxt "#30124" 128 | msgid "Signature" 129 | msgstr "Allekirjoitus" 130 | 131 | msgctxt "#30501" 132 | msgid "Unknown error. See log for details." 133 | msgstr "Tuntematon virhe. Katso lisätietoa lokista." 134 | 135 | msgctxt "#30502" 136 | msgid "Startup failed." 137 | msgstr "Aloitus epäonnistui." 138 | 139 | msgctxt "#30503" 140 | msgid "Failed to connect to server." 141 | msgstr "Palvelimeen yhdistäminen epäonnistui." 142 | 143 | msgctxt "#30504" 144 | msgid "Authentication failed. Retrying." 145 | msgstr "Todennus epäonnistui. Yritetään uudelleen." 146 | 147 | msgctxt "#30505" 148 | msgid "Unable to load channels." 149 | msgstr "Kanavien lataaminen ei onnistu." 150 | 151 | msgctxt "#30506" 152 | msgid "Unable to load channel groups." 153 | msgstr "Kanavaryhmien lataaminen epäonnistui" 154 | 155 | msgctxt "#30507" 156 | msgid "Unable to load guide." 157 | msgstr "Oppaan lataaminen epäonnistui" 158 | 159 | msgctxt "#30508" 160 | msgid "Failed to get stream URL." 161 | msgstr "Streamin osoitetta ei löytynyt." 162 | 163 | msgctxt "#30509" 164 | msgid "Authorization lost. Re-authenticating." 165 | msgstr "Todennus menetetty. Uudelleentodennetaan." 166 | 167 | msgctxt "#30510" 168 | msgid "Re-authenticated." 169 | msgstr "Uudelleentodennettu." 170 | 171 | msgctxt "#31000" 172 | msgid "Portal 1" 173 | msgstr "Portaali 1" 174 | 175 | msgctxt "#32000" 176 | msgid "Portal 2" 177 | msgstr "Portaali 2" 178 | 179 | msgctxt "#33000" 180 | msgid "Portal 3" 181 | msgstr "Portaali 3" 182 | 183 | msgctxt "#34000" 184 | msgid "Portal 4" 185 | msgstr "Portaali 4" 186 | 187 | msgctxt "#35000" 188 | msgid "Portal 5" 189 | msgstr "Portaali 5" 190 | -------------------------------------------------------------------------------- /pvr.stalker/resources/language/resource.language.gl_es/strings.po: -------------------------------------------------------------------------------- 1 | # Kodi Media Center language file 2 | # Addon Name: Stalker Client 3 | # Addon id: pvr.stalker 4 | # Addon Provider: Jamal Edey 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: KODI Main\n" 8 | "Report-Msgid-Bugs-To: http://trac.kodi.tv/\n" 9 | "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" 10 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 11 | "Last-Translator: Kodi Translation Team\n" 12 | "Language-Team: Galician (Spain) (http://www.transifex.com/projects/p/kodi-main/language/gl_ES/)\n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: 8bit\n" 16 | "Language: gl_ES\n" 17 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 18 | 19 | msgctxt "#30000" 20 | msgid "General" 21 | msgstr "Xeral" 22 | 23 | msgctxt "#30001" 24 | msgid "Active Portal" 25 | msgstr "Portal activo" 26 | 27 | msgctxt "#30002" 28 | msgid "Misc" 29 | msgstr "Miscelánea" 30 | 31 | msgctxt "#30003" 32 | msgid "Connection Timeout (seconds)" 33 | msgstr "Tempo de espera da conexión (segundos)" 34 | 35 | msgctxt "#30101" 36 | msgid "MAC Address" 37 | msgstr "Enderezo MAC" 38 | 39 | msgctxt "#30102" 40 | msgid "Server Address" 41 | msgstr "Enderezo do servidor" 42 | 43 | msgctxt "#30103" 44 | msgid "Time Zone" 45 | msgstr "Fuso horario" 46 | 47 | msgctxt "#30104" 48 | msgid "Auth Credentials" 49 | msgstr "Credenciais de autenticación" 50 | 51 | msgctxt "#30105" 52 | msgid "Login" 53 | msgstr "Usuario" 54 | 55 | msgctxt "#30106" 56 | msgid "Password" 57 | msgstr "Contrasinal" 58 | 59 | msgctxt "#30107" 60 | msgid "Guide" 61 | msgstr "Guía" 62 | 63 | msgctxt "#30108" 64 | msgid "Preference" 65 | msgstr "Preferencia" 66 | 67 | msgctxt "#30109" 68 | msgid "Prefer Provider" 69 | msgstr "Provedor preferido" 70 | 71 | msgctxt "#30110" 72 | msgid "Prefer XMLTV" 73 | msgstr "Preferir XMLTV" 74 | 75 | msgctxt "#30111" 76 | msgid "Provider Only" 77 | msgstr "Só o provedor" 78 | 79 | msgctxt "#30112" 80 | msgid "XMLTV Only" 81 | msgstr "Só o XMLTV" 82 | 83 | msgctxt "#30113" 84 | msgid "Cache Guide Data" 85 | msgstr "Cachear Datos da Guía" 86 | 87 | msgctxt "#30114" 88 | msgid "Cache Time (hours)" 89 | msgstr "Tempo da caché (horas)" 90 | 91 | msgctxt "#30115" 92 | msgid "XMLTV" 93 | msgstr "XMLTV" 94 | 95 | msgctxt "#30116" 96 | msgid "Scope" 97 | msgstr "Ámbito" 98 | 99 | msgctxt "#30117" 100 | msgid "Remote URL" 101 | msgstr "URL remoto" 102 | 103 | msgctxt "#30118" 104 | msgid "Local Path" 105 | msgstr "Ruta local" 106 | 107 | msgctxt "#30119" 108 | msgid "Advanced" 109 | msgstr "Avanzado" 110 | 111 | msgctxt "#30120" 112 | msgid "Token" 113 | msgstr "Ficha" 114 | 115 | msgctxt "#30121" 116 | msgid "Serial Number" 117 | msgstr "Número de serie" 118 | 119 | msgctxt "#30122" 120 | msgid "Device ID" 121 | msgstr "ID do dispositivo" 122 | 123 | msgctxt "#30123" 124 | msgid "Device ID2" 125 | msgstr "ID2 do dispositivo" 126 | 127 | msgctxt "#30124" 128 | msgid "Signature" 129 | msgstr "Sinatura" 130 | 131 | msgctxt "#30501" 132 | msgid "Unknown error. See log for details." 133 | msgstr "Erro descoñecido. Ver o rexistro para máis detalles." 134 | 135 | msgctxt "#30502" 136 | msgid "Startup failed." 137 | msgstr "Fallou o inicio." 138 | 139 | msgctxt "#30503" 140 | msgid "Failed to connect to server." 141 | msgstr "Non se puido conectar co servidor." 142 | 143 | msgctxt "#30504" 144 | msgid "Authentication failed. Retrying." 145 | msgstr "Fallou a autenticación, tentando de novo." 146 | 147 | msgctxt "#30505" 148 | msgid "Unable to load channels." 149 | msgstr "Non se poden cargar as canles." 150 | 151 | msgctxt "#30506" 152 | msgid "Unable to load channel groups." 153 | msgstr "Non se poden cargar os grupos de canles." 154 | 155 | msgctxt "#30507" 156 | msgid "Unable to load guide." 157 | msgstr "Non se pode cargar a guía." 158 | 159 | msgctxt "#30508" 160 | msgid "Failed to get stream URL." 161 | msgstr "Non se puido obter o URL do fluxo." 162 | 163 | msgctxt "#30509" 164 | msgid "Authorization lost. Re-authenticating." 165 | msgstr "Perdeuse a autorización. Autenticando de novo." 166 | 167 | msgctxt "#30510" 168 | msgid "Re-authenticated." 169 | msgstr "Autenticado de novo." 170 | 171 | msgctxt "#31000" 172 | msgid "Portal 1" 173 | msgstr "Portal 1" 174 | 175 | msgctxt "#32000" 176 | msgid "Portal 2" 177 | msgstr "Portal 2" 178 | 179 | msgctxt "#33000" 180 | msgid "Portal 3" 181 | msgstr "Portal 3" 182 | 183 | msgctxt "#34000" 184 | msgid "Portal 4" 185 | msgstr "Portal 4" 186 | 187 | msgctxt "#35000" 188 | msgid "Portal 5" 189 | msgstr "Portal 5" 190 | -------------------------------------------------------------------------------- /pvr.stalker/resources/language/resource.language.pt_br/strings.po: -------------------------------------------------------------------------------- 1 | # Kodi Media Center language file 2 | # Addon Name: Stalker Client 3 | # Addon id: pvr.stalker 4 | # Addon Provider: Jamal Edey 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: KODI Main\n" 8 | "Report-Msgid-Bugs-To: http://trac.kodi.tv/\n" 9 | "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" 10 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 11 | "Last-Translator: Kodi Translation Team\n" 12 | "Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/kodi-main/language/pt_BR/)\n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: 8bit\n" 16 | "Language: pt_BR\n" 17 | "Plural-Forms: nplurals=2; plural=(n > 1);\n" 18 | 19 | msgctxt "#30000" 20 | msgid "General" 21 | msgstr "Geral" 22 | 23 | msgctxt "#30001" 24 | msgid "Active Portal" 25 | msgstr "Ativar Portal" 26 | 27 | msgctxt "#30002" 28 | msgid "Misc" 29 | msgstr "Misc" 30 | 31 | msgctxt "#30003" 32 | msgid "Connection Timeout (seconds)" 33 | msgstr "Tempo limite para conexão (segundos)" 34 | 35 | msgctxt "#30101" 36 | msgid "MAC Address" 37 | msgstr "Endereço MAC" 38 | 39 | msgctxt "#30102" 40 | msgid "Server Address" 41 | msgstr "Endereço Servidor" 42 | 43 | msgctxt "#30103" 44 | msgid "Time Zone" 45 | msgstr "Fuso Horário" 46 | 47 | msgctxt "#30104" 48 | msgid "Auth Credentials" 49 | msgstr "Credenciais de Autenticação" 50 | 51 | msgctxt "#30105" 52 | msgid "Login" 53 | msgstr "Login" 54 | 55 | msgctxt "#30106" 56 | msgid "Password" 57 | msgstr "Senha" 58 | 59 | msgctxt "#30107" 60 | msgid "Guide" 61 | msgstr "Guia" 62 | 63 | msgctxt "#30108" 64 | msgid "Preference" 65 | msgstr "Preferência" 66 | 67 | msgctxt "#30109" 68 | msgid "Prefer Provider" 69 | msgstr "Provedor Preferencial" 70 | 71 | msgctxt "#30110" 72 | msgid "Prefer XMLTV" 73 | msgstr "Preferir XMLTV" 74 | 75 | msgctxt "#30111" 76 | msgid "Provider Only" 77 | msgstr "Somente Provedor" 78 | 79 | msgctxt "#30112" 80 | msgid "XMLTV Only" 81 | msgstr "Somente XMLTV" 82 | 83 | msgctxt "#30113" 84 | msgid "Cache Guide Data" 85 | msgstr "Cache dos dados do Guia" 86 | 87 | msgctxt "#30114" 88 | msgid "Cache Time (hours)" 89 | msgstr "Horário Cache (horas)" 90 | 91 | msgctxt "#30115" 92 | msgid "XMLTV" 93 | msgstr "XMLTV" 94 | 95 | msgctxt "#30116" 96 | msgid "Scope" 97 | msgstr "Escopo" 98 | 99 | msgctxt "#30117" 100 | msgid "Remote URL" 101 | msgstr "URL remota" 102 | 103 | msgctxt "#30118" 104 | msgid "Local Path" 105 | msgstr "Caminho Local" 106 | 107 | msgctxt "#30119" 108 | msgid "Advanced" 109 | msgstr "Avançado" 110 | 111 | msgctxt "#30120" 112 | msgid "Token" 113 | msgstr "Token" 114 | 115 | msgctxt "#30121" 116 | msgid "Serial Number" 117 | msgstr "Número de Série" 118 | 119 | msgctxt "#30122" 120 | msgid "Device ID" 121 | msgstr "ID do Dispositivo" 122 | 123 | msgctxt "#30123" 124 | msgid "Device ID2" 125 | msgstr "ID2 do dispostivo" 126 | 127 | msgctxt "#30124" 128 | msgid "Signature" 129 | msgstr "Assinatura" 130 | 131 | msgctxt "#30501" 132 | msgid "Unknown error. See log for details." 133 | msgstr "Erro desconhecido. Ver o log para detalhes." 134 | 135 | msgctxt "#30502" 136 | msgid "Startup failed." 137 | msgstr "Falha na inicialização." 138 | 139 | msgctxt "#30503" 140 | msgid "Failed to connect to server." 141 | msgstr "Incapaz de conectar ao servidor." 142 | 143 | msgctxt "#30504" 144 | msgid "Authentication failed. Retrying." 145 | msgstr "Autenticação falhou. Tentar novamente." 146 | 147 | msgctxt "#30505" 148 | msgid "Unable to load channels." 149 | msgstr "Não foi possível carregar os canais." 150 | 151 | msgctxt "#30506" 152 | msgid "Unable to load channel groups." 153 | msgstr "Não foi possível carregar grupos de canais." 154 | 155 | msgctxt "#30507" 156 | msgid "Unable to load guide." 157 | msgstr "Não foi possível carregar o guia." 158 | 159 | msgctxt "#30508" 160 | msgid "Failed to get stream URL." 161 | msgstr "Falhou ao obter a URL de stream." 162 | 163 | msgctxt "#30509" 164 | msgid "Authorization lost. Re-authenticating." 165 | msgstr "Perda de autorização. Autorizar novamente." 166 | 167 | msgctxt "#30510" 168 | msgid "Re-authenticated." 169 | msgstr "Autorizar Novamente." 170 | 171 | msgctxt "#31000" 172 | msgid "Portal 1" 173 | msgstr "Portal 1" 174 | 175 | msgctxt "#32000" 176 | msgid "Portal 2" 177 | msgstr "Portal 2" 178 | 179 | msgctxt "#33000" 180 | msgid "Portal 3" 181 | msgstr "Portal 3" 182 | 183 | msgctxt "#34000" 184 | msgid "Portal 4" 185 | msgstr "Portal 4" 186 | 187 | msgctxt "#35000" 188 | msgid "Portal 5" 189 | msgstr "Portal 5" 190 | -------------------------------------------------------------------------------- /lib/libstalkerclient/itv.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015, 2016 Jamal Edey 3 | * http://www.kenshisoft.com/ 4 | * 5 | * This program is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU General Public License 7 | * as published by the Free Software Foundation; either version 2 8 | * of the License, or (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Kodi; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 18 | * 19 | * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html 20 | * 21 | */ 22 | 23 | #include "itv.h" 24 | 25 | bool sc_itv_get_all_channels_defaults(sc_list_t *list) { 26 | return true; 27 | } 28 | 29 | bool sc_itv_get_ordered_list_defaults(sc_list_t *list) { 30 | sc_list_node_append(list, sc_list_node_create(sc_param_create_string("genre", "*", false))); 31 | sc_list_node_append(list, sc_list_node_create(sc_param_create_integer("fav", 0, true))); 32 | sc_list_node_append(list, sc_list_node_create(sc_param_create_string("sortby", "number", true))); 33 | sc_list_node_append(list, sc_list_node_create(sc_param_create_integer("p", 0, false))); 34 | 35 | return true; 36 | } 37 | 38 | bool sc_itv_create_link_defaults(sc_list_t *list) { 39 | sc_list_node_append(list, sc_list_node_create(sc_param_create_string("cmd", "", true))); 40 | sc_list_node_append(list, sc_list_node_create(sc_param_create_string("forced_storage", "undefined", false))); 41 | sc_list_node_append(list, sc_list_node_create(sc_param_create_integer("disable_ad", 0, false))); 42 | 43 | return true; 44 | } 45 | 46 | bool sc_itv_get_genres_defaults(sc_list_t *list) { 47 | return true; 48 | } 49 | 50 | bool sc_itv_get_epg_info_defaults(sc_list_t *list) { 51 | sc_list_node_append(list, sc_list_node_create(sc_param_create_integer("period", 24, false))); 52 | 53 | return true; 54 | } 55 | 56 | bool sc_itv_defaults(sc_param_params_t *params) { 57 | switch (params->action) { 58 | case ITV_GET_ALL_CHANNELS: 59 | return sc_itv_get_all_channels_defaults(params->list); 60 | case ITV_GET_ORDERED_LIST: 61 | return sc_itv_get_ordered_list_defaults(params->list); 62 | case ITV_CREATE_LINK: 63 | return sc_itv_create_link_defaults(params->list); 64 | case ITV_GET_GENRES: 65 | return sc_itv_get_genres_defaults(params->list); 66 | case ITV_GET_EPG_INFO: 67 | return sc_itv_get_epg_info_defaults(params->list); 68 | default: 69 | break; 70 | } 71 | 72 | return false; 73 | } 74 | 75 | bool sc_itv_prep_request(sc_param_params_t *params, sc_request_t *request) { 76 | sc_request_nameVal_t *paramPrev; 77 | sc_request_nameVal_t *param; 78 | 79 | paramPrev = request->params; 80 | while (paramPrev && paramPrev->next) 81 | paramPrev = paramPrev->next; 82 | 83 | param = sc_request_create_nameVal("type", "itv"); 84 | 85 | if (!paramPrev) { 86 | param->first = param; 87 | request->params = paramPrev = param; 88 | } else { 89 | paramPrev = sc_request_link_nameVal(paramPrev, param); 90 | } 91 | 92 | switch (params->action) { 93 | case ITV_GET_ALL_CHANNELS: 94 | sc_request_link_nameVal(paramPrev, sc_request_create_nameVal("action", "get_all_channels")); 95 | break; 96 | case ITV_GET_ORDERED_LIST: 97 | sc_request_link_nameVal(paramPrev, sc_request_create_nameVal("action", "get_ordered_list")); 98 | break; 99 | case ITV_CREATE_LINK: 100 | sc_request_link_nameVal(paramPrev, sc_request_create_nameVal("action", "create_link")); 101 | break; 102 | case ITV_GET_GENRES: 103 | sc_request_link_nameVal(paramPrev, sc_request_create_nameVal("action", "get_genres")); 104 | break; 105 | case ITV_GET_EPG_INFO: 106 | sc_request_link_nameVal(paramPrev, sc_request_create_nameVal("action", "get_epg_info")); 107 | break; 108 | default: 109 | break; 110 | } 111 | 112 | request->method = "GET"; 113 | 114 | return true; 115 | } 116 | -------------------------------------------------------------------------------- /pvr.stalker/resources/language/resource.language.de_de/strings.po: -------------------------------------------------------------------------------- 1 | # Kodi Media Center language file 2 | # Addon Name: Stalker Client 3 | # Addon id: pvr.stalker 4 | # Addon Provider: Jamal Edey 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: KODI Main\n" 8 | "Report-Msgid-Bugs-To: http://trac.kodi.tv/\n" 9 | "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" 10 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 11 | "Last-Translator: Kodi Translation Team\n" 12 | "Language-Team: German (Germany) (http://www.transifex.com/projects/p/kodi-main/language/de_DE/)\n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: 8bit\n" 16 | "Language: de_DE\n" 17 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 18 | 19 | msgctxt "#30000" 20 | msgid "General" 21 | msgstr "Allgemein" 22 | 23 | msgctxt "#30001" 24 | msgid "Active Portal" 25 | msgstr "Aktiver Zugang" 26 | 27 | msgctxt "#30002" 28 | msgid "Misc" 29 | msgstr "verschiedenes" 30 | 31 | msgctxt "#30003" 32 | msgid "Connection Timeout (seconds)" 33 | msgstr "Verbindungszeitüberschreitung (Sekunden)" 34 | 35 | msgctxt "#30101" 36 | msgid "MAC Address" 37 | msgstr "MAC-Adresse" 38 | 39 | msgctxt "#30102" 40 | msgid "Server Address" 41 | msgstr "Serveradresse" 42 | 43 | msgctxt "#30103" 44 | msgid "Time Zone" 45 | msgstr "Zeitzone" 46 | 47 | msgctxt "#30104" 48 | msgid "Auth Credentials" 49 | msgstr "Authentifikation Anmmeldedaten" 50 | 51 | msgctxt "#30105" 52 | msgid "Login" 53 | msgstr "Anmeldung" 54 | 55 | msgctxt "#30106" 56 | msgid "Password" 57 | msgstr "Passwort" 58 | 59 | msgctxt "#30107" 60 | msgid "Guide" 61 | msgstr "Guide" 62 | 63 | msgctxt "#30108" 64 | msgid "Preference" 65 | msgstr "Einstellung" 66 | 67 | msgctxt "#30109" 68 | msgid "Prefer Provider" 69 | msgstr "Bevorzugter Anbieter" 70 | 71 | msgctxt "#30110" 72 | msgid "Prefer XMLTV" 73 | msgstr "XMLTV bevorzugen" 74 | 75 | msgctxt "#30111" 76 | msgid "Provider Only" 77 | msgstr "Nur Anbieter" 78 | 79 | msgctxt "#30112" 80 | msgid "XMLTV Only" 81 | msgstr "Nur XMLTV" 82 | 83 | msgctxt "#30113" 84 | msgid "Cache Guide Data" 85 | msgstr "Guide-Daten cachen" 86 | 87 | msgctxt "#30114" 88 | msgid "Cache Time (hours)" 89 | msgstr "Cache-Zeit (Stunden)" 90 | 91 | msgctxt "#30115" 92 | msgid "XMLTV" 93 | msgstr "XMLTV" 94 | 95 | msgctxt "#30116" 96 | msgid "Scope" 97 | msgstr "Anwendungsbereich" 98 | 99 | msgctxt "#30117" 100 | msgid "Remote URL" 101 | msgstr "Remote-URL" 102 | 103 | msgctxt "#30118" 104 | msgid "Local Path" 105 | msgstr "Lokaler Pfad" 106 | 107 | msgctxt "#30119" 108 | msgid "Advanced" 109 | msgstr "Fortgeschritten" 110 | 111 | msgctxt "#30120" 112 | msgid "Token" 113 | msgstr "Token" 114 | 115 | msgctxt "#30121" 116 | msgid "Serial Number" 117 | msgstr "Seriennummber" 118 | 119 | msgctxt "#30122" 120 | msgid "Device ID" 121 | msgstr "Geräte-ID" 122 | 123 | msgctxt "#30123" 124 | msgid "Device ID2" 125 | msgstr "Geräte-ID2" 126 | 127 | msgctxt "#30124" 128 | msgid "Signature" 129 | msgstr "Signatur" 130 | 131 | msgctxt "#30501" 132 | msgid "Unknown error. See log for details." 133 | msgstr "Unbekannter Fehler: Für Details bitte Logdatei einsehen." 134 | 135 | msgctxt "#30502" 136 | msgid "Startup failed." 137 | msgstr "Start fehlgeschlagen." 138 | 139 | msgctxt "#30503" 140 | msgid "Failed to connect to server." 141 | msgstr "Verbindung zum Server fehlgeschlagen." 142 | 143 | msgctxt "#30504" 144 | msgid "Authentication failed. Retrying." 145 | msgstr "Authentifizierung gescheitert, Versuche erneut." 146 | 147 | msgctxt "#30505" 148 | msgid "Unable to load channels." 149 | msgstr "Laden von Kanälen nicht möglich." 150 | 151 | msgctxt "#30506" 152 | msgid "Unable to load channel groups." 153 | msgstr "Laden von Kanalgruppen nicht möglich." 154 | 155 | msgctxt "#30507" 156 | msgid "Unable to load guide." 157 | msgstr "Guide konnte nicht geladen werden." 158 | 159 | msgctxt "#30508" 160 | msgid "Failed to get stream URL." 161 | msgstr "Stream URL konnte nicht geladen werden." 162 | 163 | msgctxt "#30509" 164 | msgid "Authorization lost. Re-authenticating." 165 | msgstr "Autorisierung abgelaufen. Re-Autorisiere." 166 | 167 | msgctxt "#30510" 168 | msgid "Re-authenticated." 169 | msgstr "Neu autorisiert" 170 | 171 | msgctxt "#31000" 172 | msgid "Portal 1" 173 | msgstr "Zugang 1" 174 | 175 | msgctxt "#32000" 176 | msgid "Portal 2" 177 | msgstr "Zugang 2" 178 | 179 | msgctxt "#33000" 180 | msgid "Portal 3" 181 | msgstr "Zugang 3" 182 | 183 | msgctxt "#34000" 184 | msgid "Portal 4" 185 | msgstr "Zugang 4" 186 | 187 | msgctxt "#35000" 188 | msgid "Portal 5" 189 | msgstr "Zugang 5" 190 | --------------------------------------------------------------------------------