mirror of
https://github.com/DigitalDevices/pvr.octonet.git
synced 2025-03-01 10:53:09 +00:00
Compare commits
35 Commits
20.1.0-Nex
...
Piers
Author | SHA1 | Date | |
---|---|---|---|
|
69a637326d | ||
|
acd8a842c3 | ||
|
f15132e30c | ||
|
6b4d4a8fd6 | ||
|
4626e0cbe4 | ||
|
e0b54241bc | ||
|
bc4f24d2d9 | ||
|
2cae8ffa03 | ||
|
8cdc7e313b | ||
|
a24a1a8900 | ||
|
2df503c0b9 | ||
|
16b49ad63a | ||
|
2cc43f26c0 | ||
|
37b4b54309 | ||
|
6fce5e938d | ||
|
a4876eae6c | ||
|
0dd2d963c2 | ||
|
945b74cf56 | ||
|
60c8704c10 | ||
|
5622e10c72 | ||
|
7e3a8bd8ed | ||
|
738507d43a | ||
|
6872797278 | ||
|
b721b165de | ||
|
fe90a75afa | ||
|
db1d467987 | ||
|
89f42854b8 | ||
|
d9ae217e68 | ||
|
28f645bd3d | ||
|
d8460d2a8f | ||
|
c2a3daa691 | ||
|
51cd4c4c90 | ||
|
23b4f3eecf | ||
|
2a4230567c | ||
|
567232b5fb |
17
.github/workflows/build.yml
vendored
17
.github/workflows/build.yml
vendored
@ -11,17 +11,10 @@ jobs:
|
|||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- name: "Debian package test"
|
- name: "Debian package test"
|
||||||
os: ubuntu-18.04
|
os: ubuntu-latest
|
||||||
CC: gcc
|
CC: gcc
|
||||||
CXX: g++
|
CXX: g++
|
||||||
DEBIAN_BUILD: true
|
# DEBIAN_BUILD: true
|
||||||
- os: ubuntu-18.04
|
|
||||||
CC: gcc
|
|
||||||
CXX: g++
|
|
||||||
- os: ubuntu-18.04
|
|
||||||
CC: clang
|
|
||||||
CXX: clang++
|
|
||||||
- os: macos-10.15
|
|
||||||
steps:
|
steps:
|
||||||
- name: Install needed ubuntu depends
|
- name: Install needed ubuntu depends
|
||||||
env:
|
env:
|
||||||
@ -31,13 +24,13 @@ jobs:
|
|||||||
if [[ $DEBIAN_BUILD == true ]]; then sudo apt-get update; fi
|
if [[ $DEBIAN_BUILD == true ]]; then sudo apt-get update; fi
|
||||||
if [[ $DEBIAN_BUILD == true ]]; then sudo apt-get install fakeroot; fi
|
if [[ $DEBIAN_BUILD == true ]]; then sudo apt-get install fakeroot; fi
|
||||||
- name: Checkout Kodi repo
|
- name: Checkout Kodi repo
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
repository: xbmc/xbmc
|
repository: xbmc/xbmc
|
||||||
ref: master
|
ref: master
|
||||||
path: xbmc
|
path: xbmc
|
||||||
- name: Checkout pvr.argustv repo
|
- name: Checkout add-on repo
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
path: ${{ env.app_id }}
|
path: ${{ env.app_id }}
|
||||||
- name: Configure
|
- name: Configure
|
||||||
|
30
.github/workflows/changelog-and-release.yml
vendored
30
.github/workflows/changelog-and-release.yml
vendored
@ -39,28 +39,29 @@ jobs:
|
|||||||
|
|
||||||
# Checkout the current repository into a directory (repositories name)
|
# Checkout the current repository into a directory (repositories name)
|
||||||
- name: Checkout Repository
|
- name: Checkout Repository
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
path: ${{ github.event.repository.name }}
|
path: ${{ github.event.repository.name }}
|
||||||
|
|
||||||
# Checkout the required scripts from kodi-pvr/pvr-scripts into the 'scripts' directory
|
# Checkout the required scripts from xbmc/binary-addon-scripts into the 'scripts' directory
|
||||||
- name: Checkout Scripts
|
- name: Checkout Scripts
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
repository: kodi-pvr/pvr-scripts
|
repository: xbmc/binary-addon-scripts
|
||||||
path: scripts
|
path: scripts
|
||||||
|
|
||||||
# Install all dependencies required by the following steps
|
# Install all dependencies required by the following steps
|
||||||
# - libxml2-utils, xmlstarlet: reading news and version from addon.xml.in
|
# - libxml2-utils, xmlstarlet: reading news and version from addon.xml.in
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: |
|
run: |
|
||||||
|
sudo apt-get update
|
||||||
sudo apt-get install libxml2-utils xmlstarlet
|
sudo apt-get install libxml2-utils xmlstarlet
|
||||||
|
|
||||||
# Setup python version 3.9
|
# Setup python version 3.9
|
||||||
- name: Set up Python
|
- name: Set up Python
|
||||||
uses: actions/setup-python@v2
|
uses: actions/setup-python@v5
|
||||||
with:
|
with:
|
||||||
python-version: '3.9'
|
python-version: '3.9'
|
||||||
|
|
||||||
@ -84,6 +85,7 @@ jobs:
|
|||||||
# - steps.required-variables.outputs.version: version element from addon.xml.in
|
# - steps.required-variables.outputs.version: version element from addon.xml.in
|
||||||
# - steps.required-variables.outputs.branch: branch of the triggering ref
|
# - steps.required-variables.outputs.branch: branch of the triggering ref
|
||||||
# - steps.required-variables.outputs.today: today's date in format '%Y-%m-%d'
|
# - steps.required-variables.outputs.today: today's date in format '%Y-%m-%d'
|
||||||
|
# Note: we use a random EOF for 'changes' as is best practice for for multiline variables
|
||||||
- name: Get required variables
|
- name: Get required variables
|
||||||
id: required-variables
|
id: required-variables
|
||||||
run: |
|
run: |
|
||||||
@ -92,17 +94,15 @@ jobs:
|
|||||||
then
|
then
|
||||||
changes=$(xmlstarlet fo -R "$(find . -name addon.xml.in)" | xmlstarlet sel -t -v 'string(/addon/extension/news)' | awk -v RS= 'NR==1')
|
changes=$(xmlstarlet fo -R "$(find . -name addon.xml.in)" | xmlstarlet sel -t -v 'string(/addon/extension/news)' | awk -v RS= 'NR==1')
|
||||||
fi
|
fi
|
||||||
changes="${changes//'%'/'%25'}"
|
EOF=$(dd if=/dev/urandom bs=15 count=1 status=none | base64)
|
||||||
changes="${changes//$'\n'/'%0A'}"
|
echo "changes<<$EOF" >> $GITHUB_OUTPUT
|
||||||
changes="${changes//$'\r'/'%0D'}"
|
echo "$changes" >> $GITHUB_OUTPUT
|
||||||
changes="${changes//$'\\n'/'%0A'}"
|
echo "$EOF" >> $GITHUB_OUTPUT
|
||||||
changes="${changes//$'\\r'/'%0D'}"
|
|
||||||
echo ::set-output name=changes::$changes
|
|
||||||
version=$(xmlstarlet fo -R "$(find . -name addon.xml.in)" | xmlstarlet sel -t -v 'string(/addon/@version)')
|
version=$(xmlstarlet fo -R "$(find . -name addon.xml.in)" | xmlstarlet sel -t -v 'string(/addon/@version)')
|
||||||
echo ::set-output name=version::$version
|
echo "version=$version" >> $GITHUB_OUTPUT
|
||||||
branch=$(echo ${GITHUB_REF#refs/heads/})
|
branch=$(echo ${GITHUB_REF#refs/heads/})
|
||||||
echo ::set-output name=branch::$branch
|
echo "branch=$branch" >> $GITHUB_OUTPUT
|
||||||
echo ::set-output name=today::$(date +'%Y-%m-%d')
|
echo "today=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT
|
||||||
working-directory: ${{ github.event.repository.name }}
|
working-directory: ${{ github.event.repository.name }}
|
||||||
|
|
||||||
# Create a commit of the incremented version and changelog, news changes
|
# Create a commit of the incremented version and changelog, news changes
|
||||||
@ -133,7 +133,7 @@ jobs:
|
|||||||
shell: bash
|
shell: bash
|
||||||
|
|
||||||
# Create a release at {steps.required-variables.outputs.branch}
|
# Create a release at {steps.required-variables.outputs.branch}
|
||||||
# - tag and release name format: {steps.required-variables.outputs.version}-{steps.required-variables.outputs.branch} ie. 20.0.0-Nexus
|
# - tag and release name format: {steps.required-variables.outputs.version}-{steps.required-variables.outputs.branch} ie. 21.0.0-Omega
|
||||||
# - release body: {steps.required-variables.outputs.changes}
|
# - release body: {steps.required-variables.outputs.changes}
|
||||||
- name: Create Release
|
- name: Create Release
|
||||||
id: create-release
|
id: create-release
|
||||||
|
11
.github/workflows/increment-version.yml
vendored
11
.github/workflows/increment-version.yml
vendored
@ -2,7 +2,7 @@ name: Increment version when languages are updated
|
|||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches: [ Matrix, Nexus ]
|
branches: [ Matrix, Nexus, Omega, Piers ]
|
||||||
paths:
|
paths:
|
||||||
- '**resource.language.**strings.po'
|
- '**resource.language.**strings.po'
|
||||||
|
|
||||||
@ -15,20 +15,20 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
|
|
||||||
- name: Checkout Repository
|
- name: Checkout Repository
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
path: ${{ github.event.repository.name }}
|
path: ${{ github.event.repository.name }}
|
||||||
|
|
||||||
- name: Checkout Scripts
|
- name: Checkout Scripts
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
repository: xbmc/weblate-supplementary-scripts
|
repository: xbmc/weblate-supplementary-scripts
|
||||||
path: scripts
|
path: scripts
|
||||||
|
|
||||||
- name: Set up Python
|
- name: Set up Python
|
||||||
uses: actions/setup-python@v2
|
uses: actions/setup-python@v5
|
||||||
with:
|
with:
|
||||||
python-version: '3.9'
|
python-version: '3.9'
|
||||||
|
|
||||||
@ -42,13 +42,14 @@ jobs:
|
|||||||
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: |
|
run: |
|
||||||
|
sudo apt-get update
|
||||||
sudo apt-get install libxml2-utils xmlstarlet
|
sudo apt-get install libxml2-utils xmlstarlet
|
||||||
|
|
||||||
- name: Get required variables
|
- name: Get required variables
|
||||||
id: required-variables
|
id: required-variables
|
||||||
run: |
|
run: |
|
||||||
version=$(xmlstarlet fo -R "$(find . -name addon.xml.in)" | xmlstarlet sel -t -v 'string(/addon/@version)')
|
version=$(xmlstarlet fo -R "$(find . -name addon.xml.in)" | xmlstarlet sel -t -v 'string(/addon/@version)')
|
||||||
echo ::set-output name=version::$version
|
echo "version=$version" >> $GITHUB_OUTPUT
|
||||||
working-directory: ${{ github.event.repository.name }}
|
working-directory: ${{ github.event.repository.name }}
|
||||||
|
|
||||||
- name: Create PR for incrementing add-on versions
|
- name: Create PR for incrementing add-on versions
|
||||||
|
20
.github/workflows/release.yml
vendored
20
.github/workflows/release.yml
vendored
@ -14,7 +14,7 @@ jobs:
|
|||||||
|
|
||||||
# Checkout the current repository into a directory (repositories name)
|
# Checkout the current repository into a directory (repositories name)
|
||||||
- name: Checkout Repository
|
- name: Checkout Repository
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
path: ${{ github.event.repository.name }}
|
path: ${{ github.event.repository.name }}
|
||||||
@ -23,12 +23,14 @@ jobs:
|
|||||||
# - libxml2-utils, xmlstarlet: reading news and version from addon.xml.in
|
# - libxml2-utils, xmlstarlet: reading news and version from addon.xml.in
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: |
|
run: |
|
||||||
|
sudo apt-get update
|
||||||
sudo apt-get install libxml2-utils xmlstarlet
|
sudo apt-get install libxml2-utils xmlstarlet
|
||||||
|
|
||||||
# Create the variables required by the following steps
|
# Create the variables required by the following steps
|
||||||
# - steps.required-variables.outputs.changes: latest entry in the changelog.txt (if exists), or addon.xml.in news element
|
# - steps.required-variables.outputs.changes: latest entry in the changelog.txt (if exists), or addon.xml.in news element
|
||||||
# - steps.required-variables.outputs.version: version element from addon.xml.in
|
# - steps.required-variables.outputs.version: version element from addon.xml.in
|
||||||
# - steps.required-variables.outputs.branch: branch of the triggering ref
|
# - steps.required-variables.outputs.branch: branch of the triggering ref
|
||||||
|
# Note: we use a random EOF for 'changes' as is best practice for for multiline variables
|
||||||
- name: Get required variables
|
- name: Get required variables
|
||||||
id: required-variables
|
id: required-variables
|
||||||
run: |
|
run: |
|
||||||
@ -37,20 +39,18 @@ jobs:
|
|||||||
then
|
then
|
||||||
changes=$(xmlstarlet fo -R "$(find . -name addon.xml.in)" | xmlstarlet sel -t -v 'string(/addon/extension/news)' | awk -v RS= 'NR==1')
|
changes=$(xmlstarlet fo -R "$(find . -name addon.xml.in)" | xmlstarlet sel -t -v 'string(/addon/extension/news)' | awk -v RS= 'NR==1')
|
||||||
fi
|
fi
|
||||||
changes="${changes//'%'/'%25'}"
|
EOF=$(dd if=/dev/urandom bs=15 count=1 status=none | base64)
|
||||||
changes="${changes//$'\n'/'%0A'}"
|
echo "changes<<$EOF" >> $GITHUB_OUTPUT
|
||||||
changes="${changes//$'\r'/'%0D'}"
|
echo "$changes" >> $GITHUB_OUTPUT
|
||||||
changes="${changes//$'\\n'/'%0A'}"
|
echo "$EOF" >> $GITHUB_OUTPUT
|
||||||
changes="${changes//$'\\r'/'%0D'}"
|
|
||||||
echo ::set-output name=changes::$changes
|
|
||||||
version=$(xmlstarlet fo -R "$(find . -name addon.xml.in)" | xmlstarlet sel -t -v 'string(/addon/@version)')
|
version=$(xmlstarlet fo -R "$(find . -name addon.xml.in)" | xmlstarlet sel -t -v 'string(/addon/@version)')
|
||||||
echo ::set-output name=version::$version
|
echo "version=$version" >> $GITHUB_OUTPUT
|
||||||
branch=$(echo ${GITHUB_REF#refs/heads/})
|
branch=$(echo ${GITHUB_REF#refs/heads/})
|
||||||
echo ::set-output name=branch::$branch
|
echo "branch=$branch" >> $GITHUB_OUTPUT
|
||||||
working-directory: ${{ github.event.repository.name }}
|
working-directory: ${{ github.event.repository.name }}
|
||||||
|
|
||||||
# Create a release at {steps.required-variables.outputs.branch}
|
# Create a release at {steps.required-variables.outputs.branch}
|
||||||
# - tag and release name format: {steps.required-variables.outputs.version}-{steps.required-variables.outputs.branch} ie. 20.0.0-Nexus
|
# - tag and release name format: {steps.required-variables.outputs.version}-{steps.required-variables.outputs.branch} ie. 21.0.0-Omega
|
||||||
# - release body: {steps.required-variables.outputs.changes}
|
# - release body: {steps.required-variables.outputs.changes}
|
||||||
- name: Create Release
|
- name: Create Release
|
||||||
id: create-release
|
id: create-release
|
||||||
|
@ -2,14 +2,14 @@ name: Sync addon metadata translations
|
|||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches: [ Matrix, Nexus ]
|
branches: [ Matrix, Nexus, Omega, Piers ]
|
||||||
paths:
|
paths:
|
||||||
- '**addon.xml.in'
|
- '**addon.xml.in'
|
||||||
- '**resource.language.**strings.po'
|
- '**resource.language.**strings.po'
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
default:
|
default:
|
||||||
if: github.repository == 'DigitalDevices/pvr.octonet'
|
if: github.repository == 'kodi-pvr/pvr.octonet'
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
strategy:
|
strategy:
|
||||||
@ -21,18 +21,18 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
|
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
path: project
|
path: project
|
||||||
|
|
||||||
- name: Checkout sync_addon_metadata_translations repository
|
- name: Checkout sync_addon_metadata_translations repository
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
repository: xbmc/sync_addon_metadata_translations
|
repository: xbmc/sync_addon_metadata_translations
|
||||||
path: sync_addon_metadata_translations
|
path: sync_addon_metadata_translations
|
||||||
|
|
||||||
- name: Set up Python ${{ matrix.python-version }}
|
- name: Set up Python ${{ matrix.python-version }}
|
||||||
uses: actions/setup-python@v2
|
uses: actions/setup-python@v5
|
||||||
with:
|
with:
|
||||||
python-version: ${{ matrix.python-version }}
|
python-version: ${{ matrix.python-version }}
|
||||||
|
|
||||||
@ -55,3 +55,4 @@ jobs:
|
|||||||
branch: amt-sync
|
branch: amt-sync
|
||||||
delete-branch: true
|
delete-branch: true
|
||||||
path: ./project
|
path: ./project
|
||||||
|
reviewers: gade01
|
||||||
|
54
.travis.yml
54
.travis.yml
@ -1,54 +0,0 @@
|
|||||||
language: cpp
|
|
||||||
|
|
||||||
#
|
|
||||||
# Define the builds to get up to date versions of cmake and gcc
|
|
||||||
#
|
|
||||||
env:
|
|
||||||
global:
|
|
||||||
- app_id=pvr.octonet
|
|
||||||
|
|
||||||
matrix:
|
|
||||||
include:
|
|
||||||
- os: linux
|
|
||||||
dist: bionic
|
|
||||||
sudo: required
|
|
||||||
compiler: gcc
|
|
||||||
- os: linux
|
|
||||||
dist: bionic
|
|
||||||
sudo: required
|
|
||||||
compiler: clang
|
|
||||||
- os: linux
|
|
||||||
dist: bionic
|
|
||||||
sudo: required
|
|
||||||
compiler: gcc
|
|
||||||
env: DEBIAN_BUILD=true
|
|
||||||
- os: linux
|
|
||||||
dist: focal
|
|
||||||
sudo: required
|
|
||||||
compiler: gcc
|
|
||||||
env: DEBIAN_BUILD=true
|
|
||||||
- os: osx
|
|
||||||
osx_image: xcode10.2
|
|
||||||
|
|
||||||
before_install:
|
|
||||||
- if [[ $DEBIAN_BUILD == true ]]; then sudo add-apt-repository -y ppa:team-xbmc/xbmc-nightly; fi
|
|
||||||
- if [[ $DEBIAN_BUILD == true ]]; then sudo apt-get update; fi
|
|
||||||
- if [[ $DEBIAN_BUILD == true ]]; then sudo apt-get install fakeroot; fi
|
|
||||||
|
|
||||||
#
|
|
||||||
# The addon source is automatically checked out in $TRAVIS_BUILD_DIR,
|
|
||||||
# we'll put the Kodi source on the same level
|
|
||||||
#
|
|
||||||
before_script:
|
|
||||||
- if [[ $DEBIAN_BUILD != true ]]; then cd $TRAVIS_BUILD_DIR/..; fi
|
|
||||||
- if [[ $DEBIAN_BUILD != true ]]; then git clone --branch master --depth=1 https://github.com/xbmc/xbmc.git; fi
|
|
||||||
- if [[ $DEBIAN_BUILD != true ]]; then cd ${app_id} && mkdir build && cd build; fi
|
|
||||||
- if [[ $DEBIAN_BUILD != true ]]; then mkdir -p definition/${app_id}; fi
|
|
||||||
- if [[ $DEBIAN_BUILD != true ]]; then echo ${app_id} $TRAVIS_BUILD_DIR $TRAVIS_COMMIT > definition/${app_id}/${app_id}.txt; fi
|
|
||||||
- if [[ $DEBIAN_BUILD != true ]]; then cmake -DADDONS_TO_BUILD=${app_id} -DADDON_SRC_PREFIX=$TRAVIS_BUILD_DIR/.. -DADDONS_DEFINITION_DIR=$TRAVIS_BUILD_DIR/build/definition -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=$TRAVIS_BUILD_DIR/../xbmc/addons -DPACKAGE_ZIP=1 $TRAVIS_BUILD_DIR/../xbmc/cmake/addons; fi
|
|
||||||
- if [[ $DEBIAN_BUILD == true ]]; then wget https://raw.githubusercontent.com/xbmc/xbmc/master/xbmc/addons/kodi-dev-kit/tools/debian-addon-package-test.sh && chmod +x ./debian-addon-package-test.sh; fi
|
|
||||||
- if [[ $DEBIAN_BUILD == true ]]; then sudo apt-get build-dep $TRAVIS_BUILD_DIR; fi
|
|
||||||
|
|
||||||
script:
|
|
||||||
- if [[ $DEBIAN_BUILD != true ]]; then make; fi
|
|
||||||
- if [[ $DEBIAN_BUILD == true ]]; then ./debian-addon-package-test.sh $TRAVIS_BUILD_DIR; fi
|
|
@ -12,14 +12,10 @@ include_directories(${KODI_INCLUDE_DIR}/.. # Hack way with "/..", need bigger Ko
|
|||||||
set(DEPLIBS ${JSONCPP_LIBRARIES})
|
set(DEPLIBS ${JSONCPP_LIBRARIES})
|
||||||
|
|
||||||
set(OCTONET_SOURCES src/addon.cpp
|
set(OCTONET_SOURCES src/addon.cpp
|
||||||
src/OctonetData.cpp
|
src/OctonetData.cpp)
|
||||||
src/Socket.cpp
|
|
||||||
src/rtsp_client.cpp)
|
|
||||||
|
|
||||||
set(OCTONET_HEADERS src/addon.h
|
set(OCTONET_HEADERS src/addon.h
|
||||||
src/OctonetData.h
|
src/OctonetData.h)
|
||||||
src/Socket.h
|
|
||||||
src/rtsp_client.hpp)
|
|
||||||
|
|
||||||
addon_version(pvr.octonet OCTONET)
|
addon_version(pvr.octonet OCTONET)
|
||||||
add_definitions(-DOCTONET_VERSION=${OCTONET_VERSION})
|
add_definitions(-DOCTONET_VERSION=${OCTONET_VERSION})
|
||||||
|
2
Jenkinsfile
vendored
2
Jenkinsfile
vendored
@ -1 +1 @@
|
|||||||
buildPlugin(version: "Nexus")
|
buildPlugin(version: "Piers")
|
||||||
|
@ -1,10 +1,9 @@
|
|||||||
# Octonet PVR
|
# Octonet PVR
|
||||||
Digital Devices [Octonet](http://www.digital-devices.eu/shop/de/netzwerk-tv/) PVR client addon for [Kodi](http://kodi.tv)
|
Digital Devices [Octonet](http://www.digital-devices.eu/shop/de/netzwerk-tv/) PVR client addon for [Kodi](http://kodi.tv)
|
||||||
|
|
||||||
| Platform | Status |
|
[](LICENSE.md)
|
||||||
|----------|--------|
|
[](https://github.com/DigitalDevices/pvr.octonet/actions/workflows/build.yml)
|
||||||
| Linux + OS X (github) | [](https://github.com/kodi-pvr/pvr.octonet/actions/workflows/build.yml) |
|
[](https://jenkins.kodi.tv/blue/organizations/jenkins/DigitalDevices%2Fpvr.octonet/branches/)
|
||||||
| Windows (AppVeyor) | [](https://ci.appveyor.com/project/julianscheel/pvr-octonet) |
|
|
||||||
|
|
||||||
# Building
|
# Building
|
||||||
|
|
||||||
|
33
appveyor.yml
33
appveyor.yml
@ -1,33 +0,0 @@
|
|||||||
version: BuildNr.{build}
|
|
||||||
|
|
||||||
image: Visual Studio 2017
|
|
||||||
|
|
||||||
shallow_clone: true
|
|
||||||
|
|
||||||
clone_folder: c:\projects\pvr.octonet
|
|
||||||
|
|
||||||
environment:
|
|
||||||
app_id: pvr.octonet
|
|
||||||
|
|
||||||
matrix:
|
|
||||||
- GENERATOR: "Visual Studio 15"
|
|
||||||
CONFIG: Release
|
|
||||||
- GENERATOR: "Visual Studio 15 Win64"
|
|
||||||
CONFIG: Release
|
|
||||||
- GENERATOR: "Visual Studio 15 Win64"
|
|
||||||
CONFIG: Release
|
|
||||||
WINSTORE: -DCMAKE_SYSTEM_NAME=WindowsStore -DCMAKE_SYSTEM_VERSION="10.0.17763.0"
|
|
||||||
- GENERATOR: "Visual Studio 15 ARM"
|
|
||||||
CONFIG: Release
|
|
||||||
WINSTORE: -DCMAKE_SYSTEM_NAME=WindowsStore -DCMAKE_SYSTEM_VERSION="10.0.17763.0"
|
|
||||||
|
|
||||||
build_script:
|
|
||||||
- cd ..
|
|
||||||
- git clone --branch master --depth=1 https://github.com/xbmc/xbmc.git
|
|
||||||
- cd %app_id%
|
|
||||||
- mkdir build
|
|
||||||
- cd build
|
|
||||||
- mkdir -p definition\%app_id%
|
|
||||||
- echo %app_id% %APPVEYOR_BUILD_FOLDER% %APPVEYOR_REPO_COMMIT% > definition\%app_id%\%app_id%.txt
|
|
||||||
- cmake -T host=x64 -G "%GENERATOR%" %WINSTORE% -DADDONS_TO_BUILD=%app_id% -DCMAKE_BUILD_TYPE=%CONFIG% -DADDONS_DEFINITION_DIR=%APPVEYOR_BUILD_FOLDER%/build/definition -DADDON_SRC_PREFIX=../.. -DCMAKE_INSTALL_PREFIX=../../xbmc/addons -DPACKAGE_ZIP=1 ../../xbmc/cmake/addons
|
|
||||||
- cmake --build . --config %CONFIG% --target %app_id%
|
|
59
build-install-mac.sh
Executable file
59
build-install-mac.sh
Executable file
@ -0,0 +1,59 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
if [ "$#" -ne 1 ] || ! [ -d "$1" ]; then
|
||||||
|
echo "Usage: $0 <XBMC-SRC-DIR>" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "$OSTYPE" != "darwin"* ]]; then
|
||||||
|
echo "Error: Script only for use on MacOSX" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
||||||
|
if [[ "$1" = /* ]]
|
||||||
|
then
|
||||||
|
#absolute path
|
||||||
|
SCRIPT_DIR=""
|
||||||
|
else
|
||||||
|
#relative
|
||||||
|
SCRIPT_DIR="$SCRIPT_DIR/"
|
||||||
|
fi
|
||||||
|
|
||||||
|
BINARY_ADDONS_TARGET_DIR="$1/tools/depends/target/binary-addons"
|
||||||
|
MACOSX_BINARY_ADDONS_TARGET_DIR=""
|
||||||
|
KODI_ADDONS_DIR="$HOME/Library/Application Support/Kodi/addons"
|
||||||
|
ADDON_NAME=`basename -s .git \`git config --get remote.origin.url\``
|
||||||
|
|
||||||
|
if [ ! -d "$BINARY_ADDONS_TARGET_DIR" ]; then
|
||||||
|
echo "Error: Could not find binary addons directory at: $BINARY_ADDONS_TARGET_DIR" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
for DIR in "$BINARY_ADDONS_TARGET_DIR/"macosx*; do
|
||||||
|
if [ -d "${DIR}" ]; then
|
||||||
|
MACOSX_BINARY_ADDONS_TARGET_DIR="${DIR}"
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ -z "$MACOSX_BINARY_ADDONS_TARGET_DIR" ]; then
|
||||||
|
echo "Error: Could not find binary addons build directory at: $BINARY_ADDONS_TARGET_DIR/macosx*" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -d "$KODI_ADDONS_DIR" ]; then
|
||||||
|
echo "Error: Kodi addons dir does not exist at: $KODI_ADDONS_DIR" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
cd "$MACOSX_BINARY_ADDONS_TARGET_DIR"
|
||||||
|
make
|
||||||
|
|
||||||
|
XBMC_BUILD_ADDON_INSTALL_DIR=$(cd "$SCRIPT_DIR$1/addons/$ADDON_NAME" 2> /dev/null && pwd -P)
|
||||||
|
rm -rf "$KODI_ADDONS_DIR/$ADDON_NAME"
|
||||||
|
echo "Removed previous addon build from: $KODI_ADDONS_DIR"
|
||||||
|
cp -rf "$XBMC_BUILD_ADDON_INSTALL_DIR" "$KODI_ADDONS_DIR"
|
||||||
|
echo "Copied new addon build to: $KODI_ADDONS_DIR"
|
@ -1,10 +1,12 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<addon
|
<addon
|
||||||
id="pvr.octonet"
|
id="pvr.octonet"
|
||||||
version="20.1.0"
|
version="22.2.0"
|
||||||
name="Digital Devices Octopus NET Client"
|
name="Digital Devices Octopus NET Client"
|
||||||
provider-name="digitaldevices">
|
provider-name="digitaldevices">
|
||||||
<requires>@ADDON_DEPENDS@</requires>
|
<requires>@ADDON_DEPENDS@
|
||||||
|
<import addon="inputstream.ffmpegdirect" minversion="21.0.1"/>
|
||||||
|
</requires>
|
||||||
<extension
|
<extension
|
||||||
point="kodi.pvrclient"
|
point="kodi.pvrclient"
|
||||||
library_@PLATFORM@="@LIBRARY_FILENAME@"/>
|
library_@PLATFORM@="@LIBRARY_FILENAME@"/>
|
||||||
@ -13,6 +15,10 @@
|
|||||||
<license>GPL-2.0-or-later</license>
|
<license>GPL-2.0-or-later</license>
|
||||||
<source>https://github.com/DigitalDevices/pvr.octonet</source>
|
<source>https://github.com/DigitalDevices/pvr.octonet</source>
|
||||||
<news>
|
<news>
|
||||||
|
v21.0.1
|
||||||
|
- Translations updates from Weblate
|
||||||
|
- af_za, am_et, ar_sa, ast_es, az_az, be_by, bg_bg, bs_ba, ca_es, cs_cz, cy_gb, da_dk, de_de, el_gr, en_au, en_nz, en_us, eo, es_ar, es_es, es_mx, et_ee, eu_es, fa_af, fa_ir, fi_fi, fo_fo, fr_ca, fr_fr, gl_es, he_il, hi_in, hr_hr, hu_hu, hy_am, id_id, is_is, it_it, ja_jp, ko_kr, lt_lt, lv_lv, mi, mk_mk, ml_in, mn_mn, ms_my, mt_mt, my_mm, nb_no, nl_nl, pl_pl, pt_br, pt_pt, ro_ro, ru_ru, si_lk, sk_sk, sl_si, sq_al, sr_rs, sr_rs@latin, sv_se, szl, ta_in, te_in, tg_tj, th_th, tr_tr, uk_ua, uz_uz, vi_vn, zh_cn, zh_tw
|
||||||
|
|
||||||
</news>
|
</news>
|
||||||
<summary lang="de_DE">Kodi PVR Addon für Digital Devices Octopus NET Streams</summary>
|
<summary lang="de_DE">Kodi PVR Addon für Digital Devices Octopus NET Streams</summary>
|
||||||
<summary lang="en_GB">Kodi PVR Addon for Digital Devices Octopus NET Streams</summary>
|
<summary lang="en_GB">Kodi PVR Addon for Digital Devices Octopus NET Streams</summary>
|
||||||
|
17
pvr.octonet/changelog.txt
Normal file
17
pvr.octonet/changelog.txt
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
v22.2.0
|
||||||
|
- PVR Add-on API v9.2.0
|
||||||
|
|
||||||
|
v22.1.0
|
||||||
|
- PVR Add-on API v9.0.0
|
||||||
|
|
||||||
|
v22.0.0
|
||||||
|
- Initial release for Piers (PVR Add-on API v8.4.0)
|
||||||
|
|
||||||
|
v21.0.1
|
||||||
|
- Translations updates from Weblate
|
||||||
|
- af_za, am_et, ar_sa, ast_es, az_az, be_by, bg_bg, bs_ba, ca_es, cs_cz, cy_gb, da_dk, de_de, el_gr, en_au, en_nz, en_us, eo, es_ar, es_es, es_mx, et_ee, eu_es, fa_af, fa_ir, fi_fi, fo_fo, fr_ca, fr_fr, gl_es, he_il, hi_in, hr_hr, hu_hu, hy_am, id_id, is_is, it_it, ja_jp, ko_kr, lt_lt, lv_lv, mi, mk_mk, ml_in, mn_mn, ms_my, mt_mt, my_mm, nb_no, nl_nl, pl_pl, pt_br, pt_pt, ro_ro, ru_ru, si_lk, sk_sk, sl_si, sq_al, sr_rs, sr_rs@latin, sv_se, szl, ta_in, te_in, tg_tj, th_th, tr_tr, uk_ua, uz_uz, vi_vn, zh_cn, zh_tw
|
||||||
|
|
||||||
|
v21.0.0
|
||||||
|
- Change add-on to use inputstream.ffmpegdirect which also enables timeshifting
|
||||||
|
- Fix jsoncpp deprecation warnings
|
||||||
|
- Add build script for mac
|
@ -0,0 +1,67 @@
|
|||||||
|
# Kodi Media Center language file
|
||||||
|
# Addon Name: PVR Octonet Client
|
||||||
|
# Addon id: pvr.octonet
|
||||||
|
# Addon Provider: Julian Scheel
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: KODI Main\n"
|
||||||
|
"Report-Msgid-Bugs-To: translations@kodi.tv\n"
|
||||||
|
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"PO-Revision-Date: 2024-04-13 11:37+0000\n"
|
||||||
|
"Last-Translator: Christian Gade <gade@kodi.tv>\n"
|
||||||
|
"Language-Team: Afrikaans (South Africa) <https://kodi.weblate.cloud/projects/kodi-add-ons-pvr-clients/pvr-octonet/af_za/>\n"
|
||||||
|
"Language: af_za\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
|
"X-Generator: Weblate 5.4.3\n"
|
||||||
|
|
||||||
|
msgctxt "Addon Summary"
|
||||||
|
msgid "Kodi PVR Addon for Digital Devices Octopus NET Streams"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30000"
|
||||||
|
msgid "Octonet Server Address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30001"
|
||||||
|
msgid "Could not load chanellist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30002"
|
||||||
|
msgid "Timeshift"
|
||||||
|
msgstr "Tydskuif"
|
||||||
|
|
||||||
|
msgctxt "#30003"
|
||||||
|
msgid "Enable timeshift"
|
||||||
|
msgstr "Stel tydskuif in staat"
|
||||||
|
|
||||||
|
msgctxt "#30004"
|
||||||
|
msgid "- Modify inputstream.ffmpegdirect settings..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30005"
|
||||||
|
msgid "Inputstream settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#empty strings from id 30006 to 30599
|
||||||
|
msgctxt "#30600"
|
||||||
|
msgid "The IP/address of the octonet server. Note that in case of an address, the protocol (http://) has to be omitted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30601"
|
||||||
|
msgid "General settings required by the add-on."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30602"
|
||||||
|
msgid "Timeshift settings for pausing/rewinding and fast-forwarding live streams."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30603"
|
||||||
|
msgid "Enable the timeshift feature."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30604"
|
||||||
|
msgid "Open settings dialog for inputstream.ffmpegdirect for modification of timeshift and other settings."
|
||||||
|
msgstr ""
|
@ -0,0 +1,66 @@
|
|||||||
|
# Kodi Media Center language file
|
||||||
|
# Addon Name: PVR Octonet Client
|
||||||
|
# Addon id: pvr.octonet
|
||||||
|
# Addon Provider: Julian Scheel
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: KODI Main\n"
|
||||||
|
"Report-Msgid-Bugs-To: https://github.com/DigitalDevices/pvr.octonet/issues\n"
|
||||||
|
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: Automatically generated\n"
|
||||||
|
"Language-Team: none\n"
|
||||||
|
"Language: am_et\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||||
|
|
||||||
|
msgctxt "Addon Summary"
|
||||||
|
msgid "Kodi PVR Addon for Digital Devices Octopus NET Streams"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30000"
|
||||||
|
msgid "Octonet Server Address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30001"
|
||||||
|
msgid "Could not load chanellist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30002"
|
||||||
|
msgid "Timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30003"
|
||||||
|
msgid "Enable timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30004"
|
||||||
|
msgid "- Modify inputstream.ffmpegdirect settings..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30005"
|
||||||
|
msgid "Inputstream settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#empty strings from id 30006 to 30599
|
||||||
|
msgctxt "#30600"
|
||||||
|
msgid "The IP/address of the octonet server. Note that in case of an address, the protocol (http://) has to be omitted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30601"
|
||||||
|
msgid "General settings required by the add-on."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30602"
|
||||||
|
msgid "Timeshift settings for pausing/rewinding and fast-forwarding live streams."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30603"
|
||||||
|
msgid "Enable the timeshift feature."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30604"
|
||||||
|
msgid "Open settings dialog for inputstream.ffmpegdirect for modification of timeshift and other settings."
|
||||||
|
msgstr ""
|
@ -0,0 +1,66 @@
|
|||||||
|
# Kodi Media Center language file
|
||||||
|
# Addon Name: PVR Octonet Client
|
||||||
|
# Addon id: pvr.octonet
|
||||||
|
# Addon Provider: Julian Scheel
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: KODI Main\n"
|
||||||
|
"Report-Msgid-Bugs-To: https://github.com/DigitalDevices/pvr.octonet/issues\n"
|
||||||
|
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: Automatically generated\n"
|
||||||
|
"Language-Team: none\n"
|
||||||
|
"Language: ar_sa\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n"
|
||||||
|
|
||||||
|
msgctxt "Addon Summary"
|
||||||
|
msgid "Kodi PVR Addon for Digital Devices Octopus NET Streams"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30000"
|
||||||
|
msgid "Octonet Server Address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30001"
|
||||||
|
msgid "Could not load chanellist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30002"
|
||||||
|
msgid "Timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30003"
|
||||||
|
msgid "Enable timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30004"
|
||||||
|
msgid "- Modify inputstream.ffmpegdirect settings..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30005"
|
||||||
|
msgid "Inputstream settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#empty strings from id 30006 to 30599
|
||||||
|
msgctxt "#30600"
|
||||||
|
msgid "The IP/address of the octonet server. Note that in case of an address, the protocol (http://) has to be omitted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30601"
|
||||||
|
msgid "General settings required by the add-on."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30602"
|
||||||
|
msgid "Timeshift settings for pausing/rewinding and fast-forwarding live streams."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30603"
|
||||||
|
msgid "Enable the timeshift feature."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30604"
|
||||||
|
msgid "Open settings dialog for inputstream.ffmpegdirect for modification of timeshift and other settings."
|
||||||
|
msgstr ""
|
@ -0,0 +1,66 @@
|
|||||||
|
# Kodi Media Center language file
|
||||||
|
# Addon Name: PVR Octonet Client
|
||||||
|
# Addon id: pvr.octonet
|
||||||
|
# Addon Provider: Julian Scheel
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: KODI Main\n"
|
||||||
|
"Report-Msgid-Bugs-To: https://github.com/DigitalDevices/pvr.octonet/issues\n"
|
||||||
|
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: Automatically generated\n"
|
||||||
|
"Language-Team: none\n"
|
||||||
|
"Language: ast_es\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
|
|
||||||
|
msgctxt "Addon Summary"
|
||||||
|
msgid "Kodi PVR Addon for Digital Devices Octopus NET Streams"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30000"
|
||||||
|
msgid "Octonet Server Address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30001"
|
||||||
|
msgid "Could not load chanellist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30002"
|
||||||
|
msgid "Timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30003"
|
||||||
|
msgid "Enable timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30004"
|
||||||
|
msgid "- Modify inputstream.ffmpegdirect settings..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30005"
|
||||||
|
msgid "Inputstream settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#empty strings from id 30006 to 30599
|
||||||
|
msgctxt "#30600"
|
||||||
|
msgid "The IP/address of the octonet server. Note that in case of an address, the protocol (http://) has to be omitted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30601"
|
||||||
|
msgid "General settings required by the add-on."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30602"
|
||||||
|
msgid "Timeshift settings for pausing/rewinding and fast-forwarding live streams."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30603"
|
||||||
|
msgid "Enable the timeshift feature."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30604"
|
||||||
|
msgid "Open settings dialog for inputstream.ffmpegdirect for modification of timeshift and other settings."
|
||||||
|
msgstr ""
|
@ -0,0 +1,66 @@
|
|||||||
|
# Kodi Media Center language file
|
||||||
|
# Addon Name: PVR Octonet Client
|
||||||
|
# Addon id: pvr.octonet
|
||||||
|
# Addon Provider: Julian Scheel
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: KODI Main\n"
|
||||||
|
"Report-Msgid-Bugs-To: https://github.com/DigitalDevices/pvr.octonet/issues\n"
|
||||||
|
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: Automatically generated\n"
|
||||||
|
"Language-Team: none\n"
|
||||||
|
"Language: az_az\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
|
|
||||||
|
msgctxt "Addon Summary"
|
||||||
|
msgid "Kodi PVR Addon for Digital Devices Octopus NET Streams"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30000"
|
||||||
|
msgid "Octonet Server Address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30001"
|
||||||
|
msgid "Could not load chanellist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30002"
|
||||||
|
msgid "Timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30003"
|
||||||
|
msgid "Enable timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30004"
|
||||||
|
msgid "- Modify inputstream.ffmpegdirect settings..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30005"
|
||||||
|
msgid "Inputstream settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#empty strings from id 30006 to 30599
|
||||||
|
msgctxt "#30600"
|
||||||
|
msgid "The IP/address of the octonet server. Note that in case of an address, the protocol (http://) has to be omitted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30601"
|
||||||
|
msgid "General settings required by the add-on."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30602"
|
||||||
|
msgid "Timeshift settings for pausing/rewinding and fast-forwarding live streams."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30603"
|
||||||
|
msgid "Enable the timeshift feature."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30604"
|
||||||
|
msgid "Open settings dialog for inputstream.ffmpegdirect for modification of timeshift and other settings."
|
||||||
|
msgstr ""
|
@ -0,0 +1,66 @@
|
|||||||
|
# Kodi Media Center language file
|
||||||
|
# Addon Name: PVR Octonet Client
|
||||||
|
# Addon id: pvr.octonet
|
||||||
|
# Addon Provider: Julian Scheel
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: KODI Main\n"
|
||||||
|
"Report-Msgid-Bugs-To: https://github.com/DigitalDevices/pvr.octonet/issues\n"
|
||||||
|
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: Automatically generated\n"
|
||||||
|
"Language-Team: none\n"
|
||||||
|
"Language: be_by\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
|
||||||
|
|
||||||
|
msgctxt "Addon Summary"
|
||||||
|
msgid "Kodi PVR Addon for Digital Devices Octopus NET Streams"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30000"
|
||||||
|
msgid "Octonet Server Address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30001"
|
||||||
|
msgid "Could not load chanellist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30002"
|
||||||
|
msgid "Timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30003"
|
||||||
|
msgid "Enable timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30004"
|
||||||
|
msgid "- Modify inputstream.ffmpegdirect settings..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30005"
|
||||||
|
msgid "Inputstream settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#empty strings from id 30006 to 30599
|
||||||
|
msgctxt "#30600"
|
||||||
|
msgid "The IP/address of the octonet server. Note that in case of an address, the protocol (http://) has to be omitted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30601"
|
||||||
|
msgid "General settings required by the add-on."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30602"
|
||||||
|
msgid "Timeshift settings for pausing/rewinding and fast-forwarding live streams."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30603"
|
||||||
|
msgid "Enable the timeshift feature."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30604"
|
||||||
|
msgid "Open settings dialog for inputstream.ffmpegdirect for modification of timeshift and other settings."
|
||||||
|
msgstr ""
|
@ -0,0 +1,67 @@
|
|||||||
|
# Kodi Media Center language file
|
||||||
|
# Addon Name: PVR Octonet Client
|
||||||
|
# Addon id: pvr.octonet
|
||||||
|
# Addon Provider: Julian Scheel
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: KODI Main\n"
|
||||||
|
"Report-Msgid-Bugs-To: translations@kodi.tv\n"
|
||||||
|
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"PO-Revision-Date: 2024-04-13 11:37+0000\n"
|
||||||
|
"Last-Translator: Christian Gade <gade@kodi.tv>\n"
|
||||||
|
"Language-Team: Bulgarian <https://kodi.weblate.cloud/projects/kodi-add-ons-pvr-clients/pvr-octonet/bg_bg/>\n"
|
||||||
|
"Language: bg_bg\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
|
"X-Generator: Weblate 5.4.3\n"
|
||||||
|
|
||||||
|
msgctxt "Addon Summary"
|
||||||
|
msgid "Kodi PVR Addon for Digital Devices Octopus NET Streams"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30000"
|
||||||
|
msgid "Octonet Server Address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30001"
|
||||||
|
msgid "Could not load chanellist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30002"
|
||||||
|
msgid "Timeshift"
|
||||||
|
msgstr "Изместване във времето"
|
||||||
|
|
||||||
|
msgctxt "#30003"
|
||||||
|
msgid "Enable timeshift"
|
||||||
|
msgstr "Изместване във времето"
|
||||||
|
|
||||||
|
msgctxt "#30004"
|
||||||
|
msgid "- Modify inputstream.ffmpegdirect settings..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30005"
|
||||||
|
msgid "Inputstream settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#empty strings from id 30006 to 30599
|
||||||
|
msgctxt "#30600"
|
||||||
|
msgid "The IP/address of the octonet server. Note that in case of an address, the protocol (http://) has to be omitted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30601"
|
||||||
|
msgid "General settings required by the add-on."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30602"
|
||||||
|
msgid "Timeshift settings for pausing/rewinding and fast-forwarding live streams."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30603"
|
||||||
|
msgid "Enable the timeshift feature."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30604"
|
||||||
|
msgid "Open settings dialog for inputstream.ffmpegdirect for modification of timeshift and other settings."
|
||||||
|
msgstr ""
|
@ -0,0 +1,66 @@
|
|||||||
|
# Kodi Media Center language file
|
||||||
|
# Addon Name: PVR Octonet Client
|
||||||
|
# Addon id: pvr.octonet
|
||||||
|
# Addon Provider: Julian Scheel
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: KODI Main\n"
|
||||||
|
"Report-Msgid-Bugs-To: https://github.com/DigitalDevices/pvr.octonet/issues\n"
|
||||||
|
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: Automatically generated\n"
|
||||||
|
"Language-Team: none\n"
|
||||||
|
"Language: bs_ba\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
|
||||||
|
|
||||||
|
msgctxt "Addon Summary"
|
||||||
|
msgid "Kodi PVR Addon for Digital Devices Octopus NET Streams"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30000"
|
||||||
|
msgid "Octonet Server Address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30001"
|
||||||
|
msgid "Could not load chanellist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30002"
|
||||||
|
msgid "Timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30003"
|
||||||
|
msgid "Enable timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30004"
|
||||||
|
msgid "- Modify inputstream.ffmpegdirect settings..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30005"
|
||||||
|
msgid "Inputstream settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#empty strings from id 30006 to 30599
|
||||||
|
msgctxt "#30600"
|
||||||
|
msgid "The IP/address of the octonet server. Note that in case of an address, the protocol (http://) has to be omitted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30601"
|
||||||
|
msgid "General settings required by the add-on."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30602"
|
||||||
|
msgid "Timeshift settings for pausing/rewinding and fast-forwarding live streams."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30603"
|
||||||
|
msgid "Enable the timeshift feature."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30604"
|
||||||
|
msgid "Open settings dialog for inputstream.ffmpegdirect for modification of timeshift and other settings."
|
||||||
|
msgstr ""
|
@ -0,0 +1,67 @@
|
|||||||
|
# Kodi Media Center language file
|
||||||
|
# Addon Name: PVR Octonet Client
|
||||||
|
# Addon id: pvr.octonet
|
||||||
|
# Addon Provider: Julian Scheel
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: KODI Main\n"
|
||||||
|
"Report-Msgid-Bugs-To: translations@kodi.tv\n"
|
||||||
|
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"PO-Revision-Date: 2024-04-13 11:37+0000\n"
|
||||||
|
"Last-Translator: Christian Gade <gade@kodi.tv>\n"
|
||||||
|
"Language-Team: Catalan (Spain) <https://kodi.weblate.cloud/projects/kodi-add-ons-pvr-clients/pvr-octonet/ca_es/>\n"
|
||||||
|
"Language: ca_es\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
|
"X-Generator: Weblate 5.4.3\n"
|
||||||
|
|
||||||
|
msgctxt "Addon Summary"
|
||||||
|
msgid "Kodi PVR Addon for Digital Devices Octopus NET Streams"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30000"
|
||||||
|
msgid "Octonet Server Address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30001"
|
||||||
|
msgid "Could not load chanellist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30002"
|
||||||
|
msgid "Timeshift"
|
||||||
|
msgstr "Salts en el temps"
|
||||||
|
|
||||||
|
msgctxt "#30003"
|
||||||
|
msgid "Enable timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30004"
|
||||||
|
msgid "- Modify inputstream.ffmpegdirect settings..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30005"
|
||||||
|
msgid "Inputstream settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#empty strings from id 30006 to 30599
|
||||||
|
msgctxt "#30600"
|
||||||
|
msgid "The IP/address of the octonet server. Note that in case of an address, the protocol (http://) has to be omitted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30601"
|
||||||
|
msgid "General settings required by the add-on."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30602"
|
||||||
|
msgid "Timeshift settings for pausing/rewinding and fast-forwarding live streams."
|
||||||
|
msgstr "Configuració de desplaçament temporal per posar en pausa/rebobinar i avançar ràpidament les reproduccions en directe."
|
||||||
|
|
||||||
|
msgctxt "#30603"
|
||||||
|
msgid "Enable the timeshift feature."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30604"
|
||||||
|
msgid "Open settings dialog for inputstream.ffmpegdirect for modification of timeshift and other settings."
|
||||||
|
msgstr ""
|
@ -0,0 +1,67 @@
|
|||||||
|
# Kodi Media Center language file
|
||||||
|
# Addon Name: PVR Octonet Client
|
||||||
|
# Addon id: pvr.octonet
|
||||||
|
# Addon Provider: Julian Scheel
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: KODI Main\n"
|
||||||
|
"Report-Msgid-Bugs-To: translations@kodi.tv\n"
|
||||||
|
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"PO-Revision-Date: 2024-04-13 11:37+0000\n"
|
||||||
|
"Last-Translator: Christian Gade <gade@kodi.tv>\n"
|
||||||
|
"Language-Team: Czech <https://kodi.weblate.cloud/projects/kodi-add-ons-pvr-clients/pvr-octonet/cs_cz/>\n"
|
||||||
|
"Language: cs_cz\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
|
||||||
|
"X-Generator: Weblate 5.4.3\n"
|
||||||
|
|
||||||
|
msgctxt "Addon Summary"
|
||||||
|
msgid "Kodi PVR Addon for Digital Devices Octopus NET Streams"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30000"
|
||||||
|
msgid "Octonet Server Address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30001"
|
||||||
|
msgid "Could not load chanellist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30002"
|
||||||
|
msgid "Timeshift"
|
||||||
|
msgstr "Časový posun"
|
||||||
|
|
||||||
|
msgctxt "#30003"
|
||||||
|
msgid "Enable timeshift"
|
||||||
|
msgstr "Povolit časový posun"
|
||||||
|
|
||||||
|
msgctxt "#30004"
|
||||||
|
msgid "- Modify inputstream.ffmpegdirect settings..."
|
||||||
|
msgstr "- Úprava nastavení inputstream.ffmpegdirect..."
|
||||||
|
|
||||||
|
msgctxt "#30005"
|
||||||
|
msgid "Inputstream settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#empty strings from id 30006 to 30599
|
||||||
|
msgctxt "#30600"
|
||||||
|
msgid "The IP/address of the octonet server. Note that in case of an address, the protocol (http://) has to be omitted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30601"
|
||||||
|
msgid "General settings required by the add-on."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30602"
|
||||||
|
msgid "Timeshift settings for pausing/rewinding and fast-forwarding live streams."
|
||||||
|
msgstr "Nastavení Timeshift pro pozastavení/přetáčení a rychlé přetáčení živých přenosů."
|
||||||
|
|
||||||
|
msgctxt "#30603"
|
||||||
|
msgid "Enable the timeshift feature."
|
||||||
|
msgstr "Povolte funkci timeshift."
|
||||||
|
|
||||||
|
msgctxt "#30604"
|
||||||
|
msgid "Open settings dialog for inputstream.ffmpegdirect for modification of timeshift and other settings."
|
||||||
|
msgstr "Otevření dialogu nastavení pro inputstream.ffmpegdirect pro úpravu timeshift a dalších nastavení."
|
@ -0,0 +1,66 @@
|
|||||||
|
# Kodi Media Center language file
|
||||||
|
# Addon Name: PVR Octonet Client
|
||||||
|
# Addon id: pvr.octonet
|
||||||
|
# Addon Provider: Julian Scheel
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: KODI Main\n"
|
||||||
|
"Report-Msgid-Bugs-To: https://github.com/DigitalDevices/pvr.octonet/issues\n"
|
||||||
|
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: Automatically generated\n"
|
||||||
|
"Language-Team: none\n"
|
||||||
|
"Language: cy_gb\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=6; plural=(n==0) ? 0 : (n==1) ? 1 : (n==2) ? 2 : (n==3) ? 3 :(n==6) ? 4 : 5;\n"
|
||||||
|
|
||||||
|
msgctxt "Addon Summary"
|
||||||
|
msgid "Kodi PVR Addon for Digital Devices Octopus NET Streams"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30000"
|
||||||
|
msgid "Octonet Server Address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30001"
|
||||||
|
msgid "Could not load chanellist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30002"
|
||||||
|
msgid "Timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30003"
|
||||||
|
msgid "Enable timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30004"
|
||||||
|
msgid "- Modify inputstream.ffmpegdirect settings..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30005"
|
||||||
|
msgid "Inputstream settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#empty strings from id 30006 to 30599
|
||||||
|
msgctxt "#30600"
|
||||||
|
msgid "The IP/address of the octonet server. Note that in case of an address, the protocol (http://) has to be omitted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30601"
|
||||||
|
msgid "General settings required by the add-on."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30602"
|
||||||
|
msgid "Timeshift settings for pausing/rewinding and fast-forwarding live streams."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30603"
|
||||||
|
msgid "Enable the timeshift feature."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30604"
|
||||||
|
msgid "Open settings dialog for inputstream.ffmpegdirect for modification of timeshift and other settings."
|
||||||
|
msgstr ""
|
@ -0,0 +1,67 @@
|
|||||||
|
# Kodi Media Center language file
|
||||||
|
# Addon Name: PVR Octonet Client
|
||||||
|
# Addon id: pvr.octonet
|
||||||
|
# Addon Provider: Julian Scheel
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: KODI Main\n"
|
||||||
|
"Report-Msgid-Bugs-To: translations@kodi.tv\n"
|
||||||
|
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"PO-Revision-Date: 2024-04-13 10:27+0000\n"
|
||||||
|
"Last-Translator: Christian Gade <gade@kodi.tv>\n"
|
||||||
|
"Language-Team: Danish <https://kodi.weblate.cloud/projects/kodi-add-ons-pvr-clients/pvr-octonet/da_dk/>\n"
|
||||||
|
"Language: da_dk\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
|
"X-Generator: Weblate 5.4.3\n"
|
||||||
|
|
||||||
|
msgctxt "Addon Summary"
|
||||||
|
msgid "Kodi PVR Addon for Digital Devices Octopus NET Streams"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30000"
|
||||||
|
msgid "Octonet Server Address"
|
||||||
|
msgstr "Octonet serveradresse"
|
||||||
|
|
||||||
|
msgctxt "#30001"
|
||||||
|
msgid "Could not load chanellist"
|
||||||
|
msgstr "Kunne ikke indlæse kanalliste"
|
||||||
|
|
||||||
|
msgctxt "#30002"
|
||||||
|
msgid "Timeshift"
|
||||||
|
msgstr "Tidsforskydning"
|
||||||
|
|
||||||
|
msgctxt "#30003"
|
||||||
|
msgid "Enable timeshift"
|
||||||
|
msgstr "Aktiver tidsforskydning"
|
||||||
|
|
||||||
|
msgctxt "#30004"
|
||||||
|
msgid "- Modify inputstream.ffmpegdirect settings..."
|
||||||
|
msgstr "- Rediger indstillinger for inputstream.ffmpegdirect..."
|
||||||
|
|
||||||
|
msgctxt "#30005"
|
||||||
|
msgid "Inputstream settings"
|
||||||
|
msgstr "Indstillinger for Inputstream"
|
||||||
|
|
||||||
|
#empty strings from id 30006 to 30599
|
||||||
|
msgctxt "#30600"
|
||||||
|
msgid "The IP/address of the octonet server. Note that in case of an address, the protocol (http://) has to be omitted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30601"
|
||||||
|
msgid "General settings required by the add-on."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30602"
|
||||||
|
msgid "Timeshift settings for pausing/rewinding and fast-forwarding live streams."
|
||||||
|
msgstr "Indstillingerne for tidsforskydning til pause/tilbagespoling og fremspoling af livestreams."
|
||||||
|
|
||||||
|
msgctxt "#30603"
|
||||||
|
msgid "Enable the timeshift feature."
|
||||||
|
msgstr "Aktiver tidsforskydning."
|
||||||
|
|
||||||
|
msgctxt "#30604"
|
||||||
|
msgid "Open settings dialog for inputstream.ffmpegdirect for modification of timeshift and other settings."
|
||||||
|
msgstr "Åbn indstillingsdialogen til inputstream.ffmpegdirect for ændring af tidsforskydnings- og andre indstillinger."
|
@ -5,16 +5,17 @@
|
|||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: KODI Main\n"
|
"Project-Id-Version: KODI Main\n"
|
||||||
"Report-Msgid-Bugs-To: https://github.com/DigitalDevices/pvr.octonet/issues\n"
|
"Report-Msgid-Bugs-To: translations@kodi.tv\n"
|
||||||
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: 2024-04-14 04:58+0000\n"
|
||||||
"Last-Translator: Kodi Translation Team\n"
|
"Last-Translator: Kai Sommerfeld <ksooo@users.noreply.kodi.weblate.cloud>\n"
|
||||||
"Language-Team: German (Germany) (https://kodi.weblate.cloud/projects/kodi-add-ons-pvr-clients/pvr-octonet/de_de/)\n"
|
"Language-Team: German <https://kodi.weblate.cloud/projects/kodi-add-ons-pvr-clients/pvr-octonet/de_de/>\n"
|
||||||
|
"Language: de_de\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Language: de_DE\n"
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
"X-Generator: Weblate 5.4.3\n"
|
||||||
|
|
||||||
msgctxt "Addon Summary"
|
msgctxt "Addon Summary"
|
||||||
msgid "Kodi PVR Addon for Digital Devices Octopus NET Streams"
|
msgid "Kodi PVR Addon for Digital Devices Octopus NET Streams"
|
||||||
@ -22,8 +23,45 @@ msgstr "Kodi PVR Addon für Digital Devices Octopus NET Streams"
|
|||||||
|
|
||||||
msgctxt "#30000"
|
msgctxt "#30000"
|
||||||
msgid "Octonet Server Address"
|
msgid "Octonet Server Address"
|
||||||
msgstr ""
|
msgstr "Octonet-Serveradresse"
|
||||||
|
|
||||||
msgctxt "#30001"
|
msgctxt "#30001"
|
||||||
msgid "Could not load chanellist"
|
msgid "Could not load chanellist"
|
||||||
msgstr ""
|
msgstr "Senderliste konnte nicht geladen werden"
|
||||||
|
|
||||||
|
msgctxt "#30002"
|
||||||
|
msgid "Timeshift"
|
||||||
|
msgstr "Timeshift"
|
||||||
|
|
||||||
|
msgctxt "#30003"
|
||||||
|
msgid "Enable timeshift"
|
||||||
|
msgstr "Timeshift aktivieren"
|
||||||
|
|
||||||
|
msgctxt "#30004"
|
||||||
|
msgid "- Modify inputstream.ffmpegdirect settings..."
|
||||||
|
msgstr "- Einstellungen von inputstream.ffmpegdirect anpassen ..."
|
||||||
|
|
||||||
|
msgctxt "#30005"
|
||||||
|
msgid "Inputstream settings"
|
||||||
|
msgstr "Inputstream-Einstellungen"
|
||||||
|
|
||||||
|
# empty strings from id 30006 to 30599
|
||||||
|
msgctxt "#30600"
|
||||||
|
msgid "The IP/address of the octonet server. Note that in case of an address, the protocol (http://) has to be omitted."
|
||||||
|
msgstr "IP-Adresse/Servername des Octonet-Servers."
|
||||||
|
|
||||||
|
msgctxt "#30601"
|
||||||
|
msgid "General settings required by the add-on."
|
||||||
|
msgstr "Allgemeine Einstellungen für das Addon."
|
||||||
|
|
||||||
|
msgctxt "#30602"
|
||||||
|
msgid "Timeshift settings for pausing/rewinding and fast-forwarding live streams."
|
||||||
|
msgstr "Timeshift-Einstellungen für Pausieren/Zurück- und Vorspulen von Livestreams."
|
||||||
|
|
||||||
|
msgctxt "#30603"
|
||||||
|
msgid "Enable the timeshift feature."
|
||||||
|
msgstr "Timeshift-Funktionen aktivieren."
|
||||||
|
|
||||||
|
msgctxt "#30604"
|
||||||
|
msgid "Open settings dialog for inputstream.ffmpegdirect for modification of timeshift and other settings."
|
||||||
|
msgstr "Einstellungsdialog von inputstream.ffmpegdirect öffnen, zum Modifizieren von Timeshift und anderen Einstellungen."
|
||||||
|
@ -0,0 +1,67 @@
|
|||||||
|
# Kodi Media Center language file
|
||||||
|
# Addon Name: PVR Octonet Client
|
||||||
|
# Addon id: pvr.octonet
|
||||||
|
# Addon Provider: Julian Scheel
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: KODI Main\n"
|
||||||
|
"Report-Msgid-Bugs-To: translations@kodi.tv\n"
|
||||||
|
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"PO-Revision-Date: 2024-04-13 11:37+0000\n"
|
||||||
|
"Last-Translator: Christian Gade <gade@kodi.tv>\n"
|
||||||
|
"Language-Team: Greek <https://kodi.weblate.cloud/projects/kodi-add-ons-pvr-clients/pvr-octonet/el_gr/>\n"
|
||||||
|
"Language: el_gr\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
|
"X-Generator: Weblate 5.4.3\n"
|
||||||
|
|
||||||
|
msgctxt "Addon Summary"
|
||||||
|
msgid "Kodi PVR Addon for Digital Devices Octopus NET Streams"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30000"
|
||||||
|
msgid "Octonet Server Address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30001"
|
||||||
|
msgid "Could not load chanellist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30002"
|
||||||
|
msgid "Timeshift"
|
||||||
|
msgstr "Timeshift"
|
||||||
|
|
||||||
|
msgctxt "#30003"
|
||||||
|
msgid "Enable timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30004"
|
||||||
|
msgid "- Modify inputstream.ffmpegdirect settings..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30005"
|
||||||
|
msgid "Inputstream settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#empty strings from id 30006 to 30599
|
||||||
|
msgctxt "#30600"
|
||||||
|
msgid "The IP/address of the octonet server. Note that in case of an address, the protocol (http://) has to be omitted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30601"
|
||||||
|
msgid "General settings required by the add-on."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30602"
|
||||||
|
msgid "Timeshift settings for pausing/rewinding and fast-forwarding live streams."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30603"
|
||||||
|
msgid "Enable the timeshift feature."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30604"
|
||||||
|
msgid "Open settings dialog for inputstream.ffmpegdirect for modification of timeshift and other settings."
|
||||||
|
msgstr ""
|
@ -0,0 +1,66 @@
|
|||||||
|
# Kodi Media Center language file
|
||||||
|
# Addon Name: PVR Octonet Client
|
||||||
|
# Addon id: pvr.octonet
|
||||||
|
# Addon Provider: Julian Scheel
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: KODI Main\n"
|
||||||
|
"Report-Msgid-Bugs-To: https://github.com/DigitalDevices/pvr.octonet/issues\n"
|
||||||
|
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: Automatically generated\n"
|
||||||
|
"Language-Team: none\n"
|
||||||
|
"Language: en_au\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
|
|
||||||
|
msgctxt "Addon Summary"
|
||||||
|
msgid "Kodi PVR Addon for Digital Devices Octopus NET Streams"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30000"
|
||||||
|
msgid "Octonet Server Address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30001"
|
||||||
|
msgid "Could not load chanellist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30002"
|
||||||
|
msgid "Timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30003"
|
||||||
|
msgid "Enable timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30004"
|
||||||
|
msgid "- Modify inputstream.ffmpegdirect settings..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30005"
|
||||||
|
msgid "Inputstream settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#empty strings from id 30006 to 30599
|
||||||
|
msgctxt "#30600"
|
||||||
|
msgid "The IP/address of the octonet server. Note that in case of an address, the protocol (http://) has to be omitted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30601"
|
||||||
|
msgid "General settings required by the add-on."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30602"
|
||||||
|
msgid "Timeshift settings for pausing/rewinding and fast-forwarding live streams."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30603"
|
||||||
|
msgid "Enable the timeshift feature."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30604"
|
||||||
|
msgid "Open settings dialog for inputstream.ffmpegdirect for modification of timeshift and other settings."
|
||||||
|
msgstr ""
|
@ -27,3 +27,41 @@ msgstr ""
|
|||||||
msgctxt "#30001"
|
msgctxt "#30001"
|
||||||
msgid "Could not load chanellist"
|
msgid "Could not load chanellist"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30002"
|
||||||
|
msgid "Timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30003"
|
||||||
|
msgid "Enable timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30004"
|
||||||
|
msgid "- Modify inputstream.ffmpegdirect settings..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30005"
|
||||||
|
msgid "Inputstream settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#empty strings from id 30006 to 30599
|
||||||
|
|
||||||
|
msgctxt "#30600"
|
||||||
|
msgid "The IP/address of the octonet server. Note that in case of an address, the protocol (http://) has to be omitted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30601"
|
||||||
|
msgid "General settings required by the add-on."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30602"
|
||||||
|
msgid "Timeshift settings for pausing/rewinding and fast-forwarding live streams."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30603"
|
||||||
|
msgid "Enable the timeshift feature."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30604"
|
||||||
|
msgid "Open settings dialog for inputstream.ffmpegdirect for modification of timeshift and other settings."
|
||||||
|
msgstr ""
|
||||||
|
@ -0,0 +1,67 @@
|
|||||||
|
# Kodi Media Center language file
|
||||||
|
# Addon Name: PVR Octonet Client
|
||||||
|
# Addon id: pvr.octonet
|
||||||
|
# Addon Provider: Julian Scheel
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: KODI Main\n"
|
||||||
|
"Report-Msgid-Bugs-To: translations@kodi.tv\n"
|
||||||
|
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"PO-Revision-Date: 2024-04-13 11:37+0000\n"
|
||||||
|
"Last-Translator: Christian Gade <gade@kodi.tv>\n"
|
||||||
|
"Language-Team: English (New Zealand) <https://kodi.weblate.cloud/projects/kodi-add-ons-pvr-clients/pvr-octonet/en_nz/>\n"
|
||||||
|
"Language: en_nz\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
|
"X-Generator: Weblate 5.4.3\n"
|
||||||
|
|
||||||
|
msgctxt "Addon Summary"
|
||||||
|
msgid "Kodi PVR Addon for Digital Devices Octopus NET Streams"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30000"
|
||||||
|
msgid "Octonet Server Address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30001"
|
||||||
|
msgid "Could not load chanellist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30002"
|
||||||
|
msgid "Timeshift"
|
||||||
|
msgstr "Timeshift"
|
||||||
|
|
||||||
|
msgctxt "#30003"
|
||||||
|
msgid "Enable timeshift"
|
||||||
|
msgstr "Enable timeshift"
|
||||||
|
|
||||||
|
msgctxt "#30004"
|
||||||
|
msgid "- Modify inputstream.ffmpegdirect settings..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30005"
|
||||||
|
msgid "Inputstream settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#empty strings from id 30006 to 30599
|
||||||
|
msgctxt "#30600"
|
||||||
|
msgid "The IP/address of the octonet server. Note that in case of an address, the protocol (http://) has to be omitted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30601"
|
||||||
|
msgid "General settings required by the add-on."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30602"
|
||||||
|
msgid "Timeshift settings for pausing/rewinding and fast-forwarding live streams."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30603"
|
||||||
|
msgid "Enable the timeshift feature."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30604"
|
||||||
|
msgid "Open settings dialog for inputstream.ffmpegdirect for modification of timeshift and other settings."
|
||||||
|
msgstr ""
|
@ -0,0 +1,67 @@
|
|||||||
|
# Kodi Media Center language file
|
||||||
|
# Addon Name: PVR Octonet Client
|
||||||
|
# Addon id: pvr.octonet
|
||||||
|
# Addon Provider: Julian Scheel
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: KODI Main\n"
|
||||||
|
"Report-Msgid-Bugs-To: translations@kodi.tv\n"
|
||||||
|
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"PO-Revision-Date: 2024-04-13 11:37+0000\n"
|
||||||
|
"Last-Translator: Christian Gade <gade@kodi.tv>\n"
|
||||||
|
"Language-Team: English (United States) <https://kodi.weblate.cloud/projects/kodi-add-ons-pvr-clients/pvr-octonet/en_us/>\n"
|
||||||
|
"Language: en_us\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
|
"X-Generator: Weblate 5.4.3\n"
|
||||||
|
|
||||||
|
msgctxt "Addon Summary"
|
||||||
|
msgid "Kodi PVR Addon for Digital Devices Octopus NET Streams"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30000"
|
||||||
|
msgid "Octonet Server Address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30001"
|
||||||
|
msgid "Could not load chanellist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30002"
|
||||||
|
msgid "Timeshift"
|
||||||
|
msgstr "Timeshift"
|
||||||
|
|
||||||
|
msgctxt "#30003"
|
||||||
|
msgid "Enable timeshift"
|
||||||
|
msgstr "Enable timeshift"
|
||||||
|
|
||||||
|
msgctxt "#30004"
|
||||||
|
msgid "- Modify inputstream.ffmpegdirect settings..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30005"
|
||||||
|
msgid "Inputstream settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#empty strings from id 30006 to 30599
|
||||||
|
msgctxt "#30600"
|
||||||
|
msgid "The IP/address of the octonet server. Note that in case of an address, the protocol (http://) has to be omitted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30601"
|
||||||
|
msgid "General settings required by the add-on."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30602"
|
||||||
|
msgid "Timeshift settings for pausing/rewinding and fast-forwarding live streams."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30603"
|
||||||
|
msgid "Enable the timeshift feature."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30604"
|
||||||
|
msgid "Open settings dialog for inputstream.ffmpegdirect for modification of timeshift and other settings."
|
||||||
|
msgstr ""
|
@ -0,0 +1,66 @@
|
|||||||
|
# Kodi Media Center language file
|
||||||
|
# Addon Name: PVR Octonet Client
|
||||||
|
# Addon id: pvr.octonet
|
||||||
|
# Addon Provider: Julian Scheel
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: KODI Main\n"
|
||||||
|
"Report-Msgid-Bugs-To: https://github.com/DigitalDevices/pvr.octonet/issues\n"
|
||||||
|
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: Automatically generated\n"
|
||||||
|
"Language-Team: none\n"
|
||||||
|
"Language: eo\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
|
|
||||||
|
msgctxt "Addon Summary"
|
||||||
|
msgid "Kodi PVR Addon for Digital Devices Octopus NET Streams"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30000"
|
||||||
|
msgid "Octonet Server Address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30001"
|
||||||
|
msgid "Could not load chanellist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30002"
|
||||||
|
msgid "Timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30003"
|
||||||
|
msgid "Enable timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30004"
|
||||||
|
msgid "- Modify inputstream.ffmpegdirect settings..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30005"
|
||||||
|
msgid "Inputstream settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#empty strings from id 30006 to 30599
|
||||||
|
msgctxt "#30600"
|
||||||
|
msgid "The IP/address of the octonet server. Note that in case of an address, the protocol (http://) has to be omitted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30601"
|
||||||
|
msgid "General settings required by the add-on."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30602"
|
||||||
|
msgid "Timeshift settings for pausing/rewinding and fast-forwarding live streams."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30603"
|
||||||
|
msgid "Enable the timeshift feature."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30604"
|
||||||
|
msgid "Open settings dialog for inputstream.ffmpegdirect for modification of timeshift and other settings."
|
||||||
|
msgstr ""
|
@ -0,0 +1,67 @@
|
|||||||
|
# Kodi Media Center language file
|
||||||
|
# Addon Name: PVR Octonet Client
|
||||||
|
# Addon id: pvr.octonet
|
||||||
|
# Addon Provider: Julian Scheel
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: KODI Main\n"
|
||||||
|
"Report-Msgid-Bugs-To: translations@kodi.tv\n"
|
||||||
|
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"PO-Revision-Date: 2024-04-13 11:37+0000\n"
|
||||||
|
"Last-Translator: Christian Gade <gade@kodi.tv>\n"
|
||||||
|
"Language-Team: Spanish (Argentina) <https://kodi.weblate.cloud/projects/kodi-add-ons-pvr-clients/pvr-octonet/es_ar/>\n"
|
||||||
|
"Language: es_ar\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
|
"X-Generator: Weblate 5.4.3\n"
|
||||||
|
|
||||||
|
msgctxt "Addon Summary"
|
||||||
|
msgid "Kodi PVR Addon for Digital Devices Octopus NET Streams"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30000"
|
||||||
|
msgid "Octonet Server Address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30001"
|
||||||
|
msgid "Could not load chanellist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30002"
|
||||||
|
msgid "Timeshift"
|
||||||
|
msgstr "Timeshift"
|
||||||
|
|
||||||
|
msgctxt "#30003"
|
||||||
|
msgid "Enable timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30004"
|
||||||
|
msgid "- Modify inputstream.ffmpegdirect settings..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30005"
|
||||||
|
msgid "Inputstream settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#empty strings from id 30006 to 30599
|
||||||
|
msgctxt "#30600"
|
||||||
|
msgid "The IP/address of the octonet server. Note that in case of an address, the protocol (http://) has to be omitted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30601"
|
||||||
|
msgid "General settings required by the add-on."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30602"
|
||||||
|
msgid "Timeshift settings for pausing/rewinding and fast-forwarding live streams."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30603"
|
||||||
|
msgid "Enable the timeshift feature."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30604"
|
||||||
|
msgid "Open settings dialog for inputstream.ffmpegdirect for modification of timeshift and other settings."
|
||||||
|
msgstr ""
|
@ -0,0 +1,67 @@
|
|||||||
|
# Kodi Media Center language file
|
||||||
|
# Addon Name: PVR Octonet Client
|
||||||
|
# Addon id: pvr.octonet
|
||||||
|
# Addon Provider: Julian Scheel
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: KODI Main\n"
|
||||||
|
"Report-Msgid-Bugs-To: translations@kodi.tv\n"
|
||||||
|
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"PO-Revision-Date: 2024-04-14 04:58+0000\n"
|
||||||
|
"Last-Translator: José Antonio Alvarado <jalvarado0.eses@gmail.com>\n"
|
||||||
|
"Language-Team: Spanish (Spain) <https://kodi.weblate.cloud/projects/kodi-add-ons-pvr-clients/pvr-octonet/es_es/>\n"
|
||||||
|
"Language: es_es\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
|
"X-Generator: Weblate 5.4.3\n"
|
||||||
|
|
||||||
|
msgctxt "Addon Summary"
|
||||||
|
msgid "Kodi PVR Addon for Digital Devices Octopus NET Streams"
|
||||||
|
msgstr "Kodi PVR Addon para Dispositivos Digitales Octopus NET Streams"
|
||||||
|
|
||||||
|
msgctxt "#30000"
|
||||||
|
msgid "Octonet Server Address"
|
||||||
|
msgstr "Dirección del Servidor Octonet"
|
||||||
|
|
||||||
|
msgctxt "#30001"
|
||||||
|
msgid "Could not load chanellist"
|
||||||
|
msgstr "No se pudo cargar la lista de canales"
|
||||||
|
|
||||||
|
msgctxt "#30002"
|
||||||
|
msgid "Timeshift"
|
||||||
|
msgstr "Timeshift"
|
||||||
|
|
||||||
|
msgctxt "#30003"
|
||||||
|
msgid "Enable timeshift"
|
||||||
|
msgstr "Activar timeshift"
|
||||||
|
|
||||||
|
msgctxt "#30004"
|
||||||
|
msgid "- Modify inputstream.ffmpegdirect settings..."
|
||||||
|
msgstr "- Modificar configuración de inputstream.ffmpegdirect..."
|
||||||
|
|
||||||
|
msgctxt "#30005"
|
||||||
|
msgid "Inputstream settings"
|
||||||
|
msgstr "Configuración de Inputstream"
|
||||||
|
|
||||||
|
#empty strings from id 30006 to 30599
|
||||||
|
msgctxt "#30600"
|
||||||
|
msgid "The IP/address of the octonet server. Note that in case of an address, the protocol (http://) has to be omitted."
|
||||||
|
msgstr "La IP/dirección del servidor octonet. Tenga en cuenta que, en caso de dirección, debe omitirse el protocolo (http://)."
|
||||||
|
|
||||||
|
msgctxt "#30601"
|
||||||
|
msgid "General settings required by the add-on."
|
||||||
|
msgstr "Ajustes generales requeridos por el add-on."
|
||||||
|
|
||||||
|
msgctxt "#30602"
|
||||||
|
msgid "Timeshift settings for pausing/rewinding and fast-forwarding live streams."
|
||||||
|
msgstr "Ajustes de timeshift para pausar/rebobinar y adelantar transmisiones en directo."
|
||||||
|
|
||||||
|
msgctxt "#30603"
|
||||||
|
msgid "Enable the timeshift feature."
|
||||||
|
msgstr "Activar la función timeshift."
|
||||||
|
|
||||||
|
msgctxt "#30604"
|
||||||
|
msgid "Open settings dialog for inputstream.ffmpegdirect for modification of timeshift and other settings."
|
||||||
|
msgstr "Abrir el cuadro de diálogo de ajustes de inputstream.ffmpegdirect para modificar el timeshift y otros ajustes."
|
@ -0,0 +1,67 @@
|
|||||||
|
# Kodi Media Center language file
|
||||||
|
# Addon Name: PVR Octonet Client
|
||||||
|
# Addon id: pvr.octonet
|
||||||
|
# Addon Provider: Julian Scheel
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: KODI Main\n"
|
||||||
|
"Report-Msgid-Bugs-To: translations@kodi.tv\n"
|
||||||
|
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"PO-Revision-Date: 2024-04-13 11:37+0000\n"
|
||||||
|
"Last-Translator: Christian Gade <gade@kodi.tv>\n"
|
||||||
|
"Language-Team: Spanish (Mexico) <https://kodi.weblate.cloud/projects/kodi-add-ons-pvr-clients/pvr-octonet/es_mx/>\n"
|
||||||
|
"Language: es_mx\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
|
"X-Generator: Weblate 5.4.3\n"
|
||||||
|
|
||||||
|
msgctxt "Addon Summary"
|
||||||
|
msgid "Kodi PVR Addon for Digital Devices Octopus NET Streams"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30000"
|
||||||
|
msgid "Octonet Server Address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30001"
|
||||||
|
msgid "Could not load chanellist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30002"
|
||||||
|
msgid "Timeshift"
|
||||||
|
msgstr "Cambio de hora"
|
||||||
|
|
||||||
|
msgctxt "#30003"
|
||||||
|
msgid "Enable timeshift"
|
||||||
|
msgstr "Activar timeshift"
|
||||||
|
|
||||||
|
msgctxt "#30004"
|
||||||
|
msgid "- Modify inputstream.ffmpegdirect settings..."
|
||||||
|
msgstr "- Modificar configuración de inputstream.ffmpegdirect..."
|
||||||
|
|
||||||
|
msgctxt "#30005"
|
||||||
|
msgid "Inputstream settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#empty strings from id 30006 to 30599
|
||||||
|
msgctxt "#30600"
|
||||||
|
msgid "The IP/address of the octonet server. Note that in case of an address, the protocol (http://) has to be omitted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30601"
|
||||||
|
msgid "General settings required by the add-on."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30602"
|
||||||
|
msgid "Timeshift settings for pausing/rewinding and fast-forwarding live streams."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30603"
|
||||||
|
msgid "Enable the timeshift feature."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30604"
|
||||||
|
msgid "Open settings dialog for inputstream.ffmpegdirect for modification of timeshift and other settings."
|
||||||
|
msgstr ""
|
@ -0,0 +1,66 @@
|
|||||||
|
# Kodi Media Center language file
|
||||||
|
# Addon Name: PVR Octonet Client
|
||||||
|
# Addon id: pvr.octonet
|
||||||
|
# Addon Provider: Julian Scheel
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: KODI Main\n"
|
||||||
|
"Report-Msgid-Bugs-To: https://github.com/DigitalDevices/pvr.octonet/issues\n"
|
||||||
|
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: Automatically generated\n"
|
||||||
|
"Language-Team: none\n"
|
||||||
|
"Language: et_ee\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
|
|
||||||
|
msgctxt "Addon Summary"
|
||||||
|
msgid "Kodi PVR Addon for Digital Devices Octopus NET Streams"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30000"
|
||||||
|
msgid "Octonet Server Address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30001"
|
||||||
|
msgid "Could not load chanellist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30002"
|
||||||
|
msgid "Timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30003"
|
||||||
|
msgid "Enable timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30004"
|
||||||
|
msgid "- Modify inputstream.ffmpegdirect settings..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30005"
|
||||||
|
msgid "Inputstream settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#empty strings from id 30006 to 30599
|
||||||
|
msgctxt "#30600"
|
||||||
|
msgid "The IP/address of the octonet server. Note that in case of an address, the protocol (http://) has to be omitted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30601"
|
||||||
|
msgid "General settings required by the add-on."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30602"
|
||||||
|
msgid "Timeshift settings for pausing/rewinding and fast-forwarding live streams."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30603"
|
||||||
|
msgid "Enable the timeshift feature."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30604"
|
||||||
|
msgid "Open settings dialog for inputstream.ffmpegdirect for modification of timeshift and other settings."
|
||||||
|
msgstr ""
|
@ -0,0 +1,67 @@
|
|||||||
|
# Kodi Media Center language file
|
||||||
|
# Addon Name: PVR Octonet Client
|
||||||
|
# Addon id: pvr.octonet
|
||||||
|
# Addon Provider: Julian Scheel
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: KODI Main\n"
|
||||||
|
"Report-Msgid-Bugs-To: translations@kodi.tv\n"
|
||||||
|
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"PO-Revision-Date: 2024-04-13 11:37+0000\n"
|
||||||
|
"Last-Translator: Christian Gade <gade@kodi.tv>\n"
|
||||||
|
"Language-Team: Basque (Spain) <https://kodi.weblate.cloud/projects/kodi-add-ons-pvr-clients/pvr-octonet/eu_es/>\n"
|
||||||
|
"Language: eu_es\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
|
"X-Generator: Weblate 5.4.3\n"
|
||||||
|
|
||||||
|
msgctxt "Addon Summary"
|
||||||
|
msgid "Kodi PVR Addon for Digital Devices Octopus NET Streams"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30000"
|
||||||
|
msgid "Octonet Server Address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30001"
|
||||||
|
msgid "Could not load chanellist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30002"
|
||||||
|
msgid "Timeshift"
|
||||||
|
msgstr "Denbora aldaketa"
|
||||||
|
|
||||||
|
msgctxt "#30003"
|
||||||
|
msgid "Enable timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30004"
|
||||||
|
msgid "- Modify inputstream.ffmpegdirect settings..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30005"
|
||||||
|
msgid "Inputstream settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#empty strings from id 30006 to 30599
|
||||||
|
msgctxt "#30600"
|
||||||
|
msgid "The IP/address of the octonet server. Note that in case of an address, the protocol (http://) has to be omitted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30601"
|
||||||
|
msgid "General settings required by the add-on."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30602"
|
||||||
|
msgid "Timeshift settings for pausing/rewinding and fast-forwarding live streams."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30603"
|
||||||
|
msgid "Enable the timeshift feature."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30604"
|
||||||
|
msgid "Open settings dialog for inputstream.ffmpegdirect for modification of timeshift and other settings."
|
||||||
|
msgstr ""
|
@ -0,0 +1,66 @@
|
|||||||
|
# Kodi Media Center language file
|
||||||
|
# Addon Name: PVR Octonet Client
|
||||||
|
# Addon id: pvr.octonet
|
||||||
|
# Addon Provider: Julian Scheel
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: KODI Main\n"
|
||||||
|
"Report-Msgid-Bugs-To: https://github.com/DigitalDevices/pvr.octonet/issues\n"
|
||||||
|
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: Automatically generated\n"
|
||||||
|
"Language-Team: none\n"
|
||||||
|
"Language: fa_af\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||||
|
|
||||||
|
msgctxt "Addon Summary"
|
||||||
|
msgid "Kodi PVR Addon for Digital Devices Octopus NET Streams"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30000"
|
||||||
|
msgid "Octonet Server Address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30001"
|
||||||
|
msgid "Could not load chanellist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30002"
|
||||||
|
msgid "Timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30003"
|
||||||
|
msgid "Enable timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30004"
|
||||||
|
msgid "- Modify inputstream.ffmpegdirect settings..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30005"
|
||||||
|
msgid "Inputstream settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#empty strings from id 30006 to 30599
|
||||||
|
msgctxt "#30600"
|
||||||
|
msgid "The IP/address of the octonet server. Note that in case of an address, the protocol (http://) has to be omitted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30601"
|
||||||
|
msgid "General settings required by the add-on."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30602"
|
||||||
|
msgid "Timeshift settings for pausing/rewinding and fast-forwarding live streams."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30603"
|
||||||
|
msgid "Enable the timeshift feature."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30604"
|
||||||
|
msgid "Open settings dialog for inputstream.ffmpegdirect for modification of timeshift and other settings."
|
||||||
|
msgstr ""
|
@ -0,0 +1,66 @@
|
|||||||
|
# Kodi Media Center language file
|
||||||
|
# Addon Name: PVR Octonet Client
|
||||||
|
# Addon id: pvr.octonet
|
||||||
|
# Addon Provider: Julian Scheel
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: KODI Main\n"
|
||||||
|
"Report-Msgid-Bugs-To: https://github.com/DigitalDevices/pvr.octonet/issues\n"
|
||||||
|
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: Automatically generated\n"
|
||||||
|
"Language-Team: none\n"
|
||||||
|
"Language: fa_ir\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||||
|
|
||||||
|
msgctxt "Addon Summary"
|
||||||
|
msgid "Kodi PVR Addon for Digital Devices Octopus NET Streams"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30000"
|
||||||
|
msgid "Octonet Server Address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30001"
|
||||||
|
msgid "Could not load chanellist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30002"
|
||||||
|
msgid "Timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30003"
|
||||||
|
msgid "Enable timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30004"
|
||||||
|
msgid "- Modify inputstream.ffmpegdirect settings..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30005"
|
||||||
|
msgid "Inputstream settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#empty strings from id 30006 to 30599
|
||||||
|
msgctxt "#30600"
|
||||||
|
msgid "The IP/address of the octonet server. Note that in case of an address, the protocol (http://) has to be omitted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30601"
|
||||||
|
msgid "General settings required by the add-on."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30602"
|
||||||
|
msgid "Timeshift settings for pausing/rewinding and fast-forwarding live streams."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30603"
|
||||||
|
msgid "Enable the timeshift feature."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30604"
|
||||||
|
msgid "Open settings dialog for inputstream.ffmpegdirect for modification of timeshift and other settings."
|
||||||
|
msgstr ""
|
@ -0,0 +1,67 @@
|
|||||||
|
# Kodi Media Center language file
|
||||||
|
# Addon Name: PVR Octonet Client
|
||||||
|
# Addon id: pvr.octonet
|
||||||
|
# Addon Provider: Julian Scheel
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: KODI Main\n"
|
||||||
|
"Report-Msgid-Bugs-To: translations@kodi.tv\n"
|
||||||
|
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"PO-Revision-Date: 2024-04-14 06:11+0000\n"
|
||||||
|
"Last-Translator: Oskari Lavinto <olavinto@protonmail.com>\n"
|
||||||
|
"Language-Team: Finnish <https://kodi.weblate.cloud/projects/kodi-add-ons-pvr-clients/pvr-octonet/fi_fi/>\n"
|
||||||
|
"Language: fi_fi\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
|
"X-Generator: Weblate 5.4.3\n"
|
||||||
|
|
||||||
|
msgctxt "Addon Summary"
|
||||||
|
msgid "Kodi PVR Addon for Digital Devices Octopus NET Streams"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30000"
|
||||||
|
msgid "Octonet Server Address"
|
||||||
|
msgstr "Octonet-palvelimen osoite"
|
||||||
|
|
||||||
|
msgctxt "#30001"
|
||||||
|
msgid "Could not load chanellist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30002"
|
||||||
|
msgid "Timeshift"
|
||||||
|
msgstr "Ajansiirto"
|
||||||
|
|
||||||
|
msgctxt "#30003"
|
||||||
|
msgid "Enable timeshift"
|
||||||
|
msgstr "Käytä ajansiirtoa"
|
||||||
|
|
||||||
|
msgctxt "#30004"
|
||||||
|
msgid "- Modify inputstream.ffmpegdirect settings..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30005"
|
||||||
|
msgid "Inputstream settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#empty strings from id 30006 to 30599
|
||||||
|
msgctxt "#30600"
|
||||||
|
msgid "The IP/address of the octonet server. Note that in case of an address, the protocol (http://) has to be omitted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30601"
|
||||||
|
msgid "General settings required by the add-on."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30602"
|
||||||
|
msgid "Timeshift settings for pausing/rewinding and fast-forwarding live streams."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30603"
|
||||||
|
msgid "Enable the timeshift feature."
|
||||||
|
msgstr "Käytä ajansiirto-ominaisuutta."
|
||||||
|
|
||||||
|
msgctxt "#30604"
|
||||||
|
msgid "Open settings dialog for inputstream.ffmpegdirect for modification of timeshift and other settings."
|
||||||
|
msgstr ""
|
@ -0,0 +1,66 @@
|
|||||||
|
# Kodi Media Center language file
|
||||||
|
# Addon Name: PVR Octonet Client
|
||||||
|
# Addon id: pvr.octonet
|
||||||
|
# Addon Provider: Julian Scheel
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: KODI Main\n"
|
||||||
|
"Report-Msgid-Bugs-To: https://github.com/DigitalDevices/pvr.octonet/issues\n"
|
||||||
|
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: Automatically generated\n"
|
||||||
|
"Language-Team: none\n"
|
||||||
|
"Language: fo_fo\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
|
|
||||||
|
msgctxt "Addon Summary"
|
||||||
|
msgid "Kodi PVR Addon for Digital Devices Octopus NET Streams"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30000"
|
||||||
|
msgid "Octonet Server Address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30001"
|
||||||
|
msgid "Could not load chanellist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30002"
|
||||||
|
msgid "Timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30003"
|
||||||
|
msgid "Enable timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30004"
|
||||||
|
msgid "- Modify inputstream.ffmpegdirect settings..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30005"
|
||||||
|
msgid "Inputstream settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#empty strings from id 30006 to 30599
|
||||||
|
msgctxt "#30600"
|
||||||
|
msgid "The IP/address of the octonet server. Note that in case of an address, the protocol (http://) has to be omitted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30601"
|
||||||
|
msgid "General settings required by the add-on."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30602"
|
||||||
|
msgid "Timeshift settings for pausing/rewinding and fast-forwarding live streams."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30603"
|
||||||
|
msgid "Enable the timeshift feature."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30604"
|
||||||
|
msgid "Open settings dialog for inputstream.ffmpegdirect for modification of timeshift and other settings."
|
||||||
|
msgstr ""
|
@ -0,0 +1,67 @@
|
|||||||
|
# Kodi Media Center language file
|
||||||
|
# Addon Name: PVR Octonet Client
|
||||||
|
# Addon id: pvr.octonet
|
||||||
|
# Addon Provider: Julian Scheel
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: KODI Main\n"
|
||||||
|
"Report-Msgid-Bugs-To: translations@kodi.tv\n"
|
||||||
|
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"PO-Revision-Date: 2024-04-13 11:37+0000\n"
|
||||||
|
"Last-Translator: Christian Gade <gade@kodi.tv>\n"
|
||||||
|
"Language-Team: French (Canada) <https://kodi.weblate.cloud/projects/kodi-add-ons-pvr-clients/pvr-octonet/fr_ca/>\n"
|
||||||
|
"Language: fr_ca\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||||
|
"X-Generator: Weblate 5.4.3\n"
|
||||||
|
|
||||||
|
msgctxt "Addon Summary"
|
||||||
|
msgid "Kodi PVR Addon for Digital Devices Octopus NET Streams"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30000"
|
||||||
|
msgid "Octonet Server Address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30001"
|
||||||
|
msgid "Could not load chanellist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30002"
|
||||||
|
msgid "Timeshift"
|
||||||
|
msgstr "Décalage temporel"
|
||||||
|
|
||||||
|
msgctxt "#30003"
|
||||||
|
msgid "Enable timeshift"
|
||||||
|
msgstr "Activer le décalage temporel"
|
||||||
|
|
||||||
|
msgctxt "#30004"
|
||||||
|
msgid "- Modify inputstream.ffmpegdirect settings..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30005"
|
||||||
|
msgid "Inputstream settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#empty strings from id 30006 to 30599
|
||||||
|
msgctxt "#30600"
|
||||||
|
msgid "The IP/address of the octonet server. Note that in case of an address, the protocol (http://) has to be omitted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30601"
|
||||||
|
msgid "General settings required by the add-on."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30602"
|
||||||
|
msgid "Timeshift settings for pausing/rewinding and fast-forwarding live streams."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30603"
|
||||||
|
msgid "Enable the timeshift feature."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30604"
|
||||||
|
msgid "Open settings dialog for inputstream.ffmpegdirect for modification of timeshift and other settings."
|
||||||
|
msgstr ""
|
@ -0,0 +1,67 @@
|
|||||||
|
# Kodi Media Center language file
|
||||||
|
# Addon Name: PVR Octonet Client
|
||||||
|
# Addon id: pvr.octonet
|
||||||
|
# Addon Provider: Julian Scheel
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: KODI Main\n"
|
||||||
|
"Report-Msgid-Bugs-To: translations@kodi.tv\n"
|
||||||
|
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"PO-Revision-Date: 2024-04-13 11:37+0000\n"
|
||||||
|
"Last-Translator: Christian Gade <gade@kodi.tv>\n"
|
||||||
|
"Language-Team: French (France) <https://kodi.weblate.cloud/projects/kodi-add-ons-pvr-clients/pvr-octonet/fr_fr/>\n"
|
||||||
|
"Language: fr_fr\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||||
|
"X-Generator: Weblate 5.4.3\n"
|
||||||
|
|
||||||
|
msgctxt "Addon Summary"
|
||||||
|
msgid "Kodi PVR Addon for Digital Devices Octopus NET Streams"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30000"
|
||||||
|
msgid "Octonet Server Address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30001"
|
||||||
|
msgid "Could not load chanellist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30002"
|
||||||
|
msgid "Timeshift"
|
||||||
|
msgstr "Différé"
|
||||||
|
|
||||||
|
msgctxt "#30003"
|
||||||
|
msgid "Enable timeshift"
|
||||||
|
msgstr "Activer le différé"
|
||||||
|
|
||||||
|
msgctxt "#30004"
|
||||||
|
msgid "- Modify inputstream.ffmpegdirect settings..."
|
||||||
|
msgstr "- Modifier les paramètres inputstream.ffmpegdirect..."
|
||||||
|
|
||||||
|
msgctxt "#30005"
|
||||||
|
msgid "Inputstream settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#empty strings from id 30006 to 30599
|
||||||
|
msgctxt "#30600"
|
||||||
|
msgid "The IP/address of the octonet server. Note that in case of an address, the protocol (http://) has to be omitted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30601"
|
||||||
|
msgid "General settings required by the add-on."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30602"
|
||||||
|
msgid "Timeshift settings for pausing/rewinding and fast-forwarding live streams."
|
||||||
|
msgstr "Paramètres de décalage temporel pour mettre en pause/rembobiner et avancer rapidement les flux en direct."
|
||||||
|
|
||||||
|
msgctxt "#30603"
|
||||||
|
msgid "Enable the timeshift feature."
|
||||||
|
msgstr "Activer la fonction de décalage temporel."
|
||||||
|
|
||||||
|
msgctxt "#30604"
|
||||||
|
msgid "Open settings dialog for inputstream.ffmpegdirect for modification of timeshift and other settings."
|
||||||
|
msgstr "Ouvrir la boîte de dialogue des paramètres pour inputstream.ffmpegdirect pour modifier le différé et d'autres paramètres."
|
@ -0,0 +1,67 @@
|
|||||||
|
# Kodi Media Center language file
|
||||||
|
# Addon Name: PVR Octonet Client
|
||||||
|
# Addon id: pvr.octonet
|
||||||
|
# Addon Provider: Julian Scheel
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: KODI Main\n"
|
||||||
|
"Report-Msgid-Bugs-To: translations@kodi.tv\n"
|
||||||
|
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"PO-Revision-Date: 2024-04-13 11:37+0000\n"
|
||||||
|
"Last-Translator: Christian Gade <gade@kodi.tv>\n"
|
||||||
|
"Language-Team: Galician (Spain) <https://kodi.weblate.cloud/projects/kodi-add-ons-pvr-clients/pvr-octonet/gl_es/>\n"
|
||||||
|
"Language: gl_es\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
|
"X-Generator: Weblate 5.4.3\n"
|
||||||
|
|
||||||
|
msgctxt "Addon Summary"
|
||||||
|
msgid "Kodi PVR Addon for Digital Devices Octopus NET Streams"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30000"
|
||||||
|
msgid "Octonet Server Address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30001"
|
||||||
|
msgid "Could not load chanellist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30002"
|
||||||
|
msgid "Timeshift"
|
||||||
|
msgstr "Timeshift"
|
||||||
|
|
||||||
|
msgctxt "#30003"
|
||||||
|
msgid "Enable timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30004"
|
||||||
|
msgid "- Modify inputstream.ffmpegdirect settings..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30005"
|
||||||
|
msgid "Inputstream settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#empty strings from id 30006 to 30599
|
||||||
|
msgctxt "#30600"
|
||||||
|
msgid "The IP/address of the octonet server. Note that in case of an address, the protocol (http://) has to be omitted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30601"
|
||||||
|
msgid "General settings required by the add-on."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30602"
|
||||||
|
msgid "Timeshift settings for pausing/rewinding and fast-forwarding live streams."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30603"
|
||||||
|
msgid "Enable the timeshift feature."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30604"
|
||||||
|
msgid "Open settings dialog for inputstream.ffmpegdirect for modification of timeshift and other settings."
|
||||||
|
msgstr ""
|
@ -0,0 +1,66 @@
|
|||||||
|
# Kodi Media Center language file
|
||||||
|
# Addon Name: PVR Octonet Client
|
||||||
|
# Addon id: pvr.octonet
|
||||||
|
# Addon Provider: Julian Scheel
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: KODI Main\n"
|
||||||
|
"Report-Msgid-Bugs-To: https://github.com/DigitalDevices/pvr.octonet/issues\n"
|
||||||
|
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: Automatically generated\n"
|
||||||
|
"Language-Team: none\n"
|
||||||
|
"Language: he_il\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=4; plural=(n == 1) ? 0 : ((n == 2) ? 1 : ((n > 10 && n % 10 == 0) ? 2 : 3));\n"
|
||||||
|
|
||||||
|
msgctxt "Addon Summary"
|
||||||
|
msgid "Kodi PVR Addon for Digital Devices Octopus NET Streams"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30000"
|
||||||
|
msgid "Octonet Server Address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30001"
|
||||||
|
msgid "Could not load chanellist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30002"
|
||||||
|
msgid "Timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30003"
|
||||||
|
msgid "Enable timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30004"
|
||||||
|
msgid "- Modify inputstream.ffmpegdirect settings..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30005"
|
||||||
|
msgid "Inputstream settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#empty strings from id 30006 to 30599
|
||||||
|
msgctxt "#30600"
|
||||||
|
msgid "The IP/address of the octonet server. Note that in case of an address, the protocol (http://) has to be omitted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30601"
|
||||||
|
msgid "General settings required by the add-on."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30602"
|
||||||
|
msgid "Timeshift settings for pausing/rewinding and fast-forwarding live streams."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30603"
|
||||||
|
msgid "Enable the timeshift feature."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30604"
|
||||||
|
msgid "Open settings dialog for inputstream.ffmpegdirect for modification of timeshift and other settings."
|
||||||
|
msgstr ""
|
@ -0,0 +1,66 @@
|
|||||||
|
# Kodi Media Center language file
|
||||||
|
# Addon Name: PVR Octonet Client
|
||||||
|
# Addon id: pvr.octonet
|
||||||
|
# Addon Provider: Julian Scheel
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: KODI Main\n"
|
||||||
|
"Report-Msgid-Bugs-To: https://github.com/DigitalDevices/pvr.octonet/issues\n"
|
||||||
|
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: Automatically generated\n"
|
||||||
|
"Language-Team: none\n"
|
||||||
|
"Language: hi_in\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||||
|
|
||||||
|
msgctxt "Addon Summary"
|
||||||
|
msgid "Kodi PVR Addon for Digital Devices Octopus NET Streams"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30000"
|
||||||
|
msgid "Octonet Server Address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30001"
|
||||||
|
msgid "Could not load chanellist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30002"
|
||||||
|
msgid "Timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30003"
|
||||||
|
msgid "Enable timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30004"
|
||||||
|
msgid "- Modify inputstream.ffmpegdirect settings..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30005"
|
||||||
|
msgid "Inputstream settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#empty strings from id 30006 to 30599
|
||||||
|
msgctxt "#30600"
|
||||||
|
msgid "The IP/address of the octonet server. Note that in case of an address, the protocol (http://) has to be omitted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30601"
|
||||||
|
msgid "General settings required by the add-on."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30602"
|
||||||
|
msgid "Timeshift settings for pausing/rewinding and fast-forwarding live streams."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30603"
|
||||||
|
msgid "Enable the timeshift feature."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30604"
|
||||||
|
msgid "Open settings dialog for inputstream.ffmpegdirect for modification of timeshift and other settings."
|
||||||
|
msgstr ""
|
@ -0,0 +1,67 @@
|
|||||||
|
# Kodi Media Center language file
|
||||||
|
# Addon Name: PVR Octonet Client
|
||||||
|
# Addon id: pvr.octonet
|
||||||
|
# Addon Provider: Julian Scheel
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: KODI Main\n"
|
||||||
|
"Report-Msgid-Bugs-To: translations@kodi.tv\n"
|
||||||
|
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"PO-Revision-Date: 2024-04-13 11:37+0000\n"
|
||||||
|
"Last-Translator: Christian Gade <gade@kodi.tv>\n"
|
||||||
|
"Language-Team: Croatian <https://kodi.weblate.cloud/projects/kodi-add-ons-pvr-clients/pvr-octonet/hr_hr/>\n"
|
||||||
|
"Language: hr_hr\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
|
||||||
|
"X-Generator: Weblate 5.4.3\n"
|
||||||
|
|
||||||
|
msgctxt "Addon Summary"
|
||||||
|
msgid "Kodi PVR Addon for Digital Devices Octopus NET Streams"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30000"
|
||||||
|
msgid "Octonet Server Address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30001"
|
||||||
|
msgid "Could not load chanellist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30002"
|
||||||
|
msgid "Timeshift"
|
||||||
|
msgstr "Vremensko premotavanje"
|
||||||
|
|
||||||
|
msgctxt "#30003"
|
||||||
|
msgid "Enable timeshift"
|
||||||
|
msgstr "Omogući vremensko premotavanje"
|
||||||
|
|
||||||
|
msgctxt "#30004"
|
||||||
|
msgid "- Modify inputstream.ffmpegdirect settings..."
|
||||||
|
msgstr "- Promijeni inputstream.ffmpegdirect postavke..."
|
||||||
|
|
||||||
|
msgctxt "#30005"
|
||||||
|
msgid "Inputstream settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#empty strings from id 30006 to 30599
|
||||||
|
msgctxt "#30600"
|
||||||
|
msgid "The IP/address of the octonet server. Note that in case of an address, the protocol (http://) has to be omitted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30601"
|
||||||
|
msgid "General settings required by the add-on."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30602"
|
||||||
|
msgid "Timeshift settings for pausing/rewinding and fast-forwarding live streams."
|
||||||
|
msgstr "Postavke vremenskog premotavanja za pauzu/premotavanje i brzo premotavanje strujanja emitiranja TV programa uživo."
|
||||||
|
|
||||||
|
msgctxt "#30603"
|
||||||
|
msgid "Enable the timeshift feature."
|
||||||
|
msgstr "Omogući značajku vremenskog premotavanja."
|
||||||
|
|
||||||
|
msgctxt "#30604"
|
||||||
|
msgid "Open settings dialog for inputstream.ffmpegdirect for modification of timeshift and other settings."
|
||||||
|
msgstr "Otvori dijalog postavki za inputstream.ffmpegdirect za promjenu vremenskog premotavanja i ostalih postavki."
|
@ -0,0 +1,67 @@
|
|||||||
|
# Kodi Media Center language file
|
||||||
|
# Addon Name: PVR Octonet Client
|
||||||
|
# Addon id: pvr.octonet
|
||||||
|
# Addon Provider: Julian Scheel
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: KODI Main\n"
|
||||||
|
"Report-Msgid-Bugs-To: translations@kodi.tv\n"
|
||||||
|
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"PO-Revision-Date: 2024-04-13 11:37+0000\n"
|
||||||
|
"Last-Translator: Christian Gade <gade@kodi.tv>\n"
|
||||||
|
"Language-Team: Hungarian <https://kodi.weblate.cloud/projects/kodi-add-ons-pvr-clients/pvr-octonet/hu_hu/>\n"
|
||||||
|
"Language: hu_hu\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
|
"X-Generator: Weblate 5.4.3\n"
|
||||||
|
|
||||||
|
msgctxt "Addon Summary"
|
||||||
|
msgid "Kodi PVR Addon for Digital Devices Octopus NET Streams"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30000"
|
||||||
|
msgid "Octonet Server Address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30001"
|
||||||
|
msgid "Could not load chanellist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30002"
|
||||||
|
msgid "Timeshift"
|
||||||
|
msgstr "Csúsztatott felvétel"
|
||||||
|
|
||||||
|
msgctxt "#30003"
|
||||||
|
msgid "Enable timeshift"
|
||||||
|
msgstr "Engedélyezze az időcsúsztatást"
|
||||||
|
|
||||||
|
msgctxt "#30004"
|
||||||
|
msgid "- Modify inputstream.ffmpegdirect settings..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30005"
|
||||||
|
msgid "Inputstream settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#empty strings from id 30006 to 30599
|
||||||
|
msgctxt "#30600"
|
||||||
|
msgid "The IP/address of the octonet server. Note that in case of an address, the protocol (http://) has to be omitted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30601"
|
||||||
|
msgid "General settings required by the add-on."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30602"
|
||||||
|
msgid "Timeshift settings for pausing/rewinding and fast-forwarding live streams."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30603"
|
||||||
|
msgid "Enable the timeshift feature."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30604"
|
||||||
|
msgid "Open settings dialog for inputstream.ffmpegdirect for modification of timeshift and other settings."
|
||||||
|
msgstr ""
|
@ -0,0 +1,66 @@
|
|||||||
|
# Kodi Media Center language file
|
||||||
|
# Addon Name: PVR Octonet Client
|
||||||
|
# Addon id: pvr.octonet
|
||||||
|
# Addon Provider: Julian Scheel
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: KODI Main\n"
|
||||||
|
"Report-Msgid-Bugs-To: https://github.com/DigitalDevices/pvr.octonet/issues\n"
|
||||||
|
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: Automatically generated\n"
|
||||||
|
"Language-Team: none\n"
|
||||||
|
"Language: hy_am\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||||
|
|
||||||
|
msgctxt "Addon Summary"
|
||||||
|
msgid "Kodi PVR Addon for Digital Devices Octopus NET Streams"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30000"
|
||||||
|
msgid "Octonet Server Address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30001"
|
||||||
|
msgid "Could not load chanellist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30002"
|
||||||
|
msgid "Timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30003"
|
||||||
|
msgid "Enable timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30004"
|
||||||
|
msgid "- Modify inputstream.ffmpegdirect settings..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30005"
|
||||||
|
msgid "Inputstream settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#empty strings from id 30006 to 30599
|
||||||
|
msgctxt "#30600"
|
||||||
|
msgid "The IP/address of the octonet server. Note that in case of an address, the protocol (http://) has to be omitted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30601"
|
||||||
|
msgid "General settings required by the add-on."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30602"
|
||||||
|
msgid "Timeshift settings for pausing/rewinding and fast-forwarding live streams."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30603"
|
||||||
|
msgid "Enable the timeshift feature."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30604"
|
||||||
|
msgid "Open settings dialog for inputstream.ffmpegdirect for modification of timeshift and other settings."
|
||||||
|
msgstr ""
|
@ -0,0 +1,67 @@
|
|||||||
|
# Kodi Media Center language file
|
||||||
|
# Addon Name: PVR Octonet Client
|
||||||
|
# Addon id: pvr.octonet
|
||||||
|
# Addon Provider: Julian Scheel
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: KODI Main\n"
|
||||||
|
"Report-Msgid-Bugs-To: translations@kodi.tv\n"
|
||||||
|
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"PO-Revision-Date: 2024-04-13 11:37+0000\n"
|
||||||
|
"Last-Translator: Christian Gade <gade@kodi.tv>\n"
|
||||||
|
"Language-Team: Indonesian <https://kodi.weblate.cloud/projects/kodi-add-ons-pvr-clients/pvr-octonet/id_id/>\n"
|
||||||
|
"Language: id_id\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||||
|
"X-Generator: Weblate 5.4.3\n"
|
||||||
|
|
||||||
|
msgctxt "Addon Summary"
|
||||||
|
msgid "Kodi PVR Addon for Digital Devices Octopus NET Streams"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30000"
|
||||||
|
msgid "Octonet Server Address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30001"
|
||||||
|
msgid "Could not load chanellist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30002"
|
||||||
|
msgid "Timeshift"
|
||||||
|
msgstr "Pergeseran waktu"
|
||||||
|
|
||||||
|
msgctxt "#30003"
|
||||||
|
msgid "Enable timeshift"
|
||||||
|
msgstr "Aktifkan pergeseran waktu"
|
||||||
|
|
||||||
|
msgctxt "#30004"
|
||||||
|
msgid "- Modify inputstream.ffmpegdirect settings..."
|
||||||
|
msgstr "‐ Ubah pengaturan inputstream.ffmpegdirect…"
|
||||||
|
|
||||||
|
msgctxt "#30005"
|
||||||
|
msgid "Inputstream settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#empty strings from id 30006 to 30599
|
||||||
|
msgctxt "#30600"
|
||||||
|
msgid "The IP/address of the octonet server. Note that in case of an address, the protocol (http://) has to be omitted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30601"
|
||||||
|
msgid "General settings required by the add-on."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30602"
|
||||||
|
msgid "Timeshift settings for pausing/rewinding and fast-forwarding live streams."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30603"
|
||||||
|
msgid "Enable the timeshift feature."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30604"
|
||||||
|
msgid "Open settings dialog for inputstream.ffmpegdirect for modification of timeshift and other settings."
|
||||||
|
msgstr ""
|
@ -0,0 +1,66 @@
|
|||||||
|
# Kodi Media Center language file
|
||||||
|
# Addon Name: PVR Octonet Client
|
||||||
|
# Addon id: pvr.octonet
|
||||||
|
# Addon Provider: Julian Scheel
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: KODI Main\n"
|
||||||
|
"Report-Msgid-Bugs-To: https://github.com/DigitalDevices/pvr.octonet/issues\n"
|
||||||
|
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: Automatically generated\n"
|
||||||
|
"Language-Team: none\n"
|
||||||
|
"Language: is_is\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=n % 10 != 1 || n % 100 == 11;\n"
|
||||||
|
|
||||||
|
msgctxt "Addon Summary"
|
||||||
|
msgid "Kodi PVR Addon for Digital Devices Octopus NET Streams"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30000"
|
||||||
|
msgid "Octonet Server Address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30001"
|
||||||
|
msgid "Could not load chanellist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30002"
|
||||||
|
msgid "Timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30003"
|
||||||
|
msgid "Enable timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30004"
|
||||||
|
msgid "- Modify inputstream.ffmpegdirect settings..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30005"
|
||||||
|
msgid "Inputstream settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#empty strings from id 30006 to 30599
|
||||||
|
msgctxt "#30600"
|
||||||
|
msgid "The IP/address of the octonet server. Note that in case of an address, the protocol (http://) has to be omitted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30601"
|
||||||
|
msgid "General settings required by the add-on."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30602"
|
||||||
|
msgid "Timeshift settings for pausing/rewinding and fast-forwarding live streams."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30603"
|
||||||
|
msgid "Enable the timeshift feature."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30604"
|
||||||
|
msgid "Open settings dialog for inputstream.ffmpegdirect for modification of timeshift and other settings."
|
||||||
|
msgstr ""
|
@ -0,0 +1,67 @@
|
|||||||
|
# Kodi Media Center language file
|
||||||
|
# Addon Name: PVR Octonet Client
|
||||||
|
# Addon id: pvr.octonet
|
||||||
|
# Addon Provider: Julian Scheel
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: KODI Main\n"
|
||||||
|
"Report-Msgid-Bugs-To: translations@kodi.tv\n"
|
||||||
|
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"PO-Revision-Date: 2024-04-14 04:58+0000\n"
|
||||||
|
"Last-Translator: Massimo Pissarello <mapi68@gmail.com>\n"
|
||||||
|
"Language-Team: Italian <https://kodi.weblate.cloud/projects/kodi-add-ons-pvr-clients/pvr-octonet/it_it/>\n"
|
||||||
|
"Language: it_it\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
|
"X-Generator: Weblate 5.4.3\n"
|
||||||
|
|
||||||
|
msgctxt "Addon Summary"
|
||||||
|
msgid "Kodi PVR Addon for Digital Devices Octopus NET Streams"
|
||||||
|
msgstr "Add-on Kodi PVR per dispositivi digitali Octopus NET Streams"
|
||||||
|
|
||||||
|
msgctxt "#30000"
|
||||||
|
msgid "Octonet Server Address"
|
||||||
|
msgstr "Indirizzo server Octonet"
|
||||||
|
|
||||||
|
msgctxt "#30001"
|
||||||
|
msgid "Could not load chanellist"
|
||||||
|
msgstr "Impossibile caricare l'elenco canali"
|
||||||
|
|
||||||
|
msgctxt "#30002"
|
||||||
|
msgid "Timeshift"
|
||||||
|
msgstr "Timeshift"
|
||||||
|
|
||||||
|
msgctxt "#30003"
|
||||||
|
msgid "Enable timeshift"
|
||||||
|
msgstr "Abilita timeshift"
|
||||||
|
|
||||||
|
msgctxt "#30004"
|
||||||
|
msgid "- Modify inputstream.ffmpegdirect settings..."
|
||||||
|
msgstr "- Modifica impostazioni di inputstream.ffmpegdirect..."
|
||||||
|
|
||||||
|
msgctxt "#30005"
|
||||||
|
msgid "Inputstream settings"
|
||||||
|
msgstr "Impostazioni Inputstream"
|
||||||
|
|
||||||
|
#empty strings from id 30006 to 30599
|
||||||
|
msgctxt "#30600"
|
||||||
|
msgid "The IP/address of the octonet server. Note that in case of an address, the protocol (http://) has to be omitted."
|
||||||
|
msgstr "L'IP/indirizzo del server Octonet. Se si tratta di un indirizzo, il protocollo (http://) deve essere tralasciato."
|
||||||
|
|
||||||
|
msgctxt "#30601"
|
||||||
|
msgid "General settings required by the add-on."
|
||||||
|
msgstr "Impostazioni generali richieste dall'add-on."
|
||||||
|
|
||||||
|
msgctxt "#30602"
|
||||||
|
msgid "Timeshift settings for pausing/rewinding and fast-forwarding live streams."
|
||||||
|
msgstr "Impostazioni timeshift per mettere in pausa/riavvolgere e mandare avanti velocemente i live stream."
|
||||||
|
|
||||||
|
msgctxt "#30603"
|
||||||
|
msgid "Enable the timeshift feature."
|
||||||
|
msgstr "Abilita la funzione timeshift."
|
||||||
|
|
||||||
|
msgctxt "#30604"
|
||||||
|
msgid "Open settings dialog for inputstream.ffmpegdirect for modification of timeshift and other settings."
|
||||||
|
msgstr "Apri la finestra di dialogo delle impostazioni per inputstream.ffmpegdirect per modificare il timeshift e altre impostazioni."
|
@ -0,0 +1,67 @@
|
|||||||
|
# Kodi Media Center language file
|
||||||
|
# Addon Name: PVR Octonet Client
|
||||||
|
# Addon id: pvr.octonet
|
||||||
|
# Addon Provider: Julian Scheel
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: KODI Main\n"
|
||||||
|
"Report-Msgid-Bugs-To: translations@kodi.tv\n"
|
||||||
|
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"PO-Revision-Date: 2024-04-13 11:37+0000\n"
|
||||||
|
"Last-Translator: Christian Gade <gade@kodi.tv>\n"
|
||||||
|
"Language-Team: Japanese <https://kodi.weblate.cloud/projects/kodi-add-ons-pvr-clients/pvr-octonet/ja_jp/>\n"
|
||||||
|
"Language: ja_jp\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||||
|
"X-Generator: Weblate 5.4.3\n"
|
||||||
|
|
||||||
|
msgctxt "Addon Summary"
|
||||||
|
msgid "Kodi PVR Addon for Digital Devices Octopus NET Streams"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30000"
|
||||||
|
msgid "Octonet Server Address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30001"
|
||||||
|
msgid "Could not load chanellist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30002"
|
||||||
|
msgid "Timeshift"
|
||||||
|
msgstr "タイムシフト"
|
||||||
|
|
||||||
|
msgctxt "#30003"
|
||||||
|
msgid "Enable timeshift"
|
||||||
|
msgstr "タイムシフト有効"
|
||||||
|
|
||||||
|
msgctxt "#30004"
|
||||||
|
msgid "- Modify inputstream.ffmpegdirect settings..."
|
||||||
|
msgstr "- inputstream.ffmpegdirect 設定を変更します..."
|
||||||
|
|
||||||
|
msgctxt "#30005"
|
||||||
|
msgid "Inputstream settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#empty strings from id 30006 to 30599
|
||||||
|
msgctxt "#30600"
|
||||||
|
msgid "The IP/address of the octonet server. Note that in case of an address, the protocol (http://) has to be omitted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30601"
|
||||||
|
msgid "General settings required by the add-on."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30602"
|
||||||
|
msgid "Timeshift settings for pausing/rewinding and fast-forwarding live streams."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30603"
|
||||||
|
msgid "Enable the timeshift feature."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30604"
|
||||||
|
msgid "Open settings dialog for inputstream.ffmpegdirect for modification of timeshift and other settings."
|
||||||
|
msgstr ""
|
@ -0,0 +1,67 @@
|
|||||||
|
# Kodi Media Center language file
|
||||||
|
# Addon Name: PVR Octonet Client
|
||||||
|
# Addon id: pvr.octonet
|
||||||
|
# Addon Provider: Julian Scheel
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: KODI Main\n"
|
||||||
|
"Report-Msgid-Bugs-To: translations@kodi.tv\n"
|
||||||
|
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"PO-Revision-Date: 2024-04-15 22:40+0000\n"
|
||||||
|
"Last-Translator: Minho Park <parkmino@gmail.com>\n"
|
||||||
|
"Language-Team: Korean <https://kodi.weblate.cloud/projects/kodi-add-ons-pvr-clients/pvr-octonet/ko_kr/>\n"
|
||||||
|
"Language: ko_kr\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||||
|
"X-Generator: Weblate 5.4.3\n"
|
||||||
|
|
||||||
|
msgctxt "Addon Summary"
|
||||||
|
msgid "Kodi PVR Addon for Digital Devices Octopus NET Streams"
|
||||||
|
msgstr "디지털 장치 옥토넷 스트림용 코디 PVR 애드온"
|
||||||
|
|
||||||
|
msgctxt "#30000"
|
||||||
|
msgid "Octonet Server Address"
|
||||||
|
msgstr "옥토넷 서버 주소"
|
||||||
|
|
||||||
|
msgctxt "#30001"
|
||||||
|
msgid "Could not load chanellist"
|
||||||
|
msgstr "채널 목록을 읽을 수 없음"
|
||||||
|
|
||||||
|
msgctxt "#30002"
|
||||||
|
msgid "Timeshift"
|
||||||
|
msgstr "타임시프트"
|
||||||
|
|
||||||
|
msgctxt "#30003"
|
||||||
|
msgid "Enable timeshift"
|
||||||
|
msgstr "시간차 시청 사용"
|
||||||
|
|
||||||
|
msgctxt "#30004"
|
||||||
|
msgid "- Modify inputstream.ffmpegdirect settings..."
|
||||||
|
msgstr "- inputstream.ffmpegdirect 설정 수정..."
|
||||||
|
|
||||||
|
msgctxt "#30005"
|
||||||
|
msgid "Inputstream settings"
|
||||||
|
msgstr "입력스트림 설정"
|
||||||
|
|
||||||
|
#empty strings from id 30006 to 30599
|
||||||
|
msgctxt "#30600"
|
||||||
|
msgid "The IP/address of the octonet server. Note that in case of an address, the protocol (http://) has to be omitted."
|
||||||
|
msgstr "옥토넷 서버의 IP/주소입니다. 주소의 경우 프로토콜(http://)을 생략해야 합니다."
|
||||||
|
|
||||||
|
msgctxt "#30601"
|
||||||
|
msgid "General settings required by the add-on."
|
||||||
|
msgstr "추가 기능에 필요한 일반 설정입니다."
|
||||||
|
|
||||||
|
msgctxt "#30602"
|
||||||
|
msgid "Timeshift settings for pausing/rewinding and fast-forwarding live streams."
|
||||||
|
msgstr "라이브 스트림 일시 중지/되감기 및 빨리 감기를 위한 시간이동 설정."
|
||||||
|
|
||||||
|
msgctxt "#30603"
|
||||||
|
msgid "Enable the timeshift feature."
|
||||||
|
msgstr "시간이동 기능을 사용합니다."
|
||||||
|
|
||||||
|
msgctxt "#30604"
|
||||||
|
msgid "Open settings dialog for inputstream.ffmpegdirect for modification of timeshift and other settings."
|
||||||
|
msgstr "시간이동 및 기타 설정 수정을 위해 inputstream.ffmpegdirect 설정 대화 상자를 엽니다."
|
@ -0,0 +1,66 @@
|
|||||||
|
# Kodi Media Center language file
|
||||||
|
# Addon Name: PVR Octonet Client
|
||||||
|
# Addon id: pvr.octonet
|
||||||
|
# Addon Provider: Julian Scheel
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: KODI Main\n"
|
||||||
|
"Report-Msgid-Bugs-To: https://github.com/DigitalDevices/pvr.octonet/issues\n"
|
||||||
|
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: Automatically generated\n"
|
||||||
|
"Language-Team: none\n"
|
||||||
|
"Language: lt_lt\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=3; plural=(n % 10 == 1 && (n % 100 < 11 || n % 100 > 19)) ? 0 : ((n % 10 >= 2 && n % 10 <= 9 && (n % 100 < 11 || n % 100 > 19)) ? 1 : 2);\n"
|
||||||
|
|
||||||
|
msgctxt "Addon Summary"
|
||||||
|
msgid "Kodi PVR Addon for Digital Devices Octopus NET Streams"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30000"
|
||||||
|
msgid "Octonet Server Address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30001"
|
||||||
|
msgid "Could not load chanellist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30002"
|
||||||
|
msgid "Timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30003"
|
||||||
|
msgid "Enable timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30004"
|
||||||
|
msgid "- Modify inputstream.ffmpegdirect settings..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30005"
|
||||||
|
msgid "Inputstream settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#empty strings from id 30006 to 30599
|
||||||
|
msgctxt "#30600"
|
||||||
|
msgid "The IP/address of the octonet server. Note that in case of an address, the protocol (http://) has to be omitted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30601"
|
||||||
|
msgid "General settings required by the add-on."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30602"
|
||||||
|
msgid "Timeshift settings for pausing/rewinding and fast-forwarding live streams."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30603"
|
||||||
|
msgid "Enable the timeshift feature."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30604"
|
||||||
|
msgid "Open settings dialog for inputstream.ffmpegdirect for modification of timeshift and other settings."
|
||||||
|
msgstr ""
|
@ -0,0 +1,66 @@
|
|||||||
|
# Kodi Media Center language file
|
||||||
|
# Addon Name: PVR Octonet Client
|
||||||
|
# Addon id: pvr.octonet
|
||||||
|
# Addon Provider: Julian Scheel
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: KODI Main\n"
|
||||||
|
"Report-Msgid-Bugs-To: https://github.com/DigitalDevices/pvr.octonet/issues\n"
|
||||||
|
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: Automatically generated\n"
|
||||||
|
"Language-Team: none\n"
|
||||||
|
"Language: lv_lv\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=3; plural=(n % 10 == 0 || n % 100 >= 11 && n % 100 <= 19) ? 0 : ((n % 10 == 1 && n % 100 != 11) ? 1 : 2);\n"
|
||||||
|
|
||||||
|
msgctxt "Addon Summary"
|
||||||
|
msgid "Kodi PVR Addon for Digital Devices Octopus NET Streams"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30000"
|
||||||
|
msgid "Octonet Server Address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30001"
|
||||||
|
msgid "Could not load chanellist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30002"
|
||||||
|
msgid "Timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30003"
|
||||||
|
msgid "Enable timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30004"
|
||||||
|
msgid "- Modify inputstream.ffmpegdirect settings..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30005"
|
||||||
|
msgid "Inputstream settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#empty strings from id 30006 to 30599
|
||||||
|
msgctxt "#30600"
|
||||||
|
msgid "The IP/address of the octonet server. Note that in case of an address, the protocol (http://) has to be omitted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30601"
|
||||||
|
msgid "General settings required by the add-on."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30602"
|
||||||
|
msgid "Timeshift settings for pausing/rewinding and fast-forwarding live streams."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30603"
|
||||||
|
msgid "Enable the timeshift feature."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30604"
|
||||||
|
msgid "Open settings dialog for inputstream.ffmpegdirect for modification of timeshift and other settings."
|
||||||
|
msgstr ""
|
@ -0,0 +1,66 @@
|
|||||||
|
# Kodi Media Center language file
|
||||||
|
# Addon Name: PVR Octonet Client
|
||||||
|
# Addon id: pvr.octonet
|
||||||
|
# Addon Provider: Julian Scheel
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: KODI Main\n"
|
||||||
|
"Report-Msgid-Bugs-To: https://github.com/DigitalDevices/pvr.octonet/issues\n"
|
||||||
|
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: Automatically generated\n"
|
||||||
|
"Language-Team: none\n"
|
||||||
|
"Language: mi\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||||
|
|
||||||
|
msgctxt "Addon Summary"
|
||||||
|
msgid "Kodi PVR Addon for Digital Devices Octopus NET Streams"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30000"
|
||||||
|
msgid "Octonet Server Address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30001"
|
||||||
|
msgid "Could not load chanellist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30002"
|
||||||
|
msgid "Timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30003"
|
||||||
|
msgid "Enable timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30004"
|
||||||
|
msgid "- Modify inputstream.ffmpegdirect settings..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30005"
|
||||||
|
msgid "Inputstream settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#empty strings from id 30006 to 30599
|
||||||
|
msgctxt "#30600"
|
||||||
|
msgid "The IP/address of the octonet server. Note that in case of an address, the protocol (http://) has to be omitted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30601"
|
||||||
|
msgid "General settings required by the add-on."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30602"
|
||||||
|
msgid "Timeshift settings for pausing/rewinding and fast-forwarding live streams."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30603"
|
||||||
|
msgid "Enable the timeshift feature."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30604"
|
||||||
|
msgid "Open settings dialog for inputstream.ffmpegdirect for modification of timeshift and other settings."
|
||||||
|
msgstr ""
|
@ -0,0 +1,66 @@
|
|||||||
|
# Kodi Media Center language file
|
||||||
|
# Addon Name: PVR Octonet Client
|
||||||
|
# Addon id: pvr.octonet
|
||||||
|
# Addon Provider: Julian Scheel
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: KODI Main\n"
|
||||||
|
"Report-Msgid-Bugs-To: https://github.com/DigitalDevices/pvr.octonet/issues\n"
|
||||||
|
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: Automatically generated\n"
|
||||||
|
"Language-Team: none\n"
|
||||||
|
"Language: mk_mk\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=n==1 || n%10==1 ? 0 : 1;\n"
|
||||||
|
|
||||||
|
msgctxt "Addon Summary"
|
||||||
|
msgid "Kodi PVR Addon for Digital Devices Octopus NET Streams"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30000"
|
||||||
|
msgid "Octonet Server Address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30001"
|
||||||
|
msgid "Could not load chanellist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30002"
|
||||||
|
msgid "Timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30003"
|
||||||
|
msgid "Enable timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30004"
|
||||||
|
msgid "- Modify inputstream.ffmpegdirect settings..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30005"
|
||||||
|
msgid "Inputstream settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#empty strings from id 30006 to 30599
|
||||||
|
msgctxt "#30600"
|
||||||
|
msgid "The IP/address of the octonet server. Note that in case of an address, the protocol (http://) has to be omitted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30601"
|
||||||
|
msgid "General settings required by the add-on."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30602"
|
||||||
|
msgid "Timeshift settings for pausing/rewinding and fast-forwarding live streams."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30603"
|
||||||
|
msgid "Enable the timeshift feature."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30604"
|
||||||
|
msgid "Open settings dialog for inputstream.ffmpegdirect for modification of timeshift and other settings."
|
||||||
|
msgstr ""
|
@ -0,0 +1,66 @@
|
|||||||
|
# Kodi Media Center language file
|
||||||
|
# Addon Name: PVR Octonet Client
|
||||||
|
# Addon id: pvr.octonet
|
||||||
|
# Addon Provider: Julian Scheel
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: KODI Main\n"
|
||||||
|
"Report-Msgid-Bugs-To: https://github.com/DigitalDevices/pvr.octonet/issues\n"
|
||||||
|
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: Automatically generated\n"
|
||||||
|
"Language-Team: none\n"
|
||||||
|
"Language: ml_in\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
|
|
||||||
|
msgctxt "Addon Summary"
|
||||||
|
msgid "Kodi PVR Addon for Digital Devices Octopus NET Streams"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30000"
|
||||||
|
msgid "Octonet Server Address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30001"
|
||||||
|
msgid "Could not load chanellist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30002"
|
||||||
|
msgid "Timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30003"
|
||||||
|
msgid "Enable timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30004"
|
||||||
|
msgid "- Modify inputstream.ffmpegdirect settings..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30005"
|
||||||
|
msgid "Inputstream settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#empty strings from id 30006 to 30599
|
||||||
|
msgctxt "#30600"
|
||||||
|
msgid "The IP/address of the octonet server. Note that in case of an address, the protocol (http://) has to be omitted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30601"
|
||||||
|
msgid "General settings required by the add-on."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30602"
|
||||||
|
msgid "Timeshift settings for pausing/rewinding and fast-forwarding live streams."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30603"
|
||||||
|
msgid "Enable the timeshift feature."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30604"
|
||||||
|
msgid "Open settings dialog for inputstream.ffmpegdirect for modification of timeshift and other settings."
|
||||||
|
msgstr ""
|
@ -0,0 +1,66 @@
|
|||||||
|
# Kodi Media Center language file
|
||||||
|
# Addon Name: PVR Octonet Client
|
||||||
|
# Addon id: pvr.octonet
|
||||||
|
# Addon Provider: Julian Scheel
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: KODI Main\n"
|
||||||
|
"Report-Msgid-Bugs-To: https://github.com/DigitalDevices/pvr.octonet/issues\n"
|
||||||
|
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: Automatically generated\n"
|
||||||
|
"Language-Team: none\n"
|
||||||
|
"Language: mn_mn\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
|
|
||||||
|
msgctxt "Addon Summary"
|
||||||
|
msgid "Kodi PVR Addon for Digital Devices Octopus NET Streams"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30000"
|
||||||
|
msgid "Octonet Server Address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30001"
|
||||||
|
msgid "Could not load chanellist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30002"
|
||||||
|
msgid "Timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30003"
|
||||||
|
msgid "Enable timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30004"
|
||||||
|
msgid "- Modify inputstream.ffmpegdirect settings..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30005"
|
||||||
|
msgid "Inputstream settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#empty strings from id 30006 to 30599
|
||||||
|
msgctxt "#30600"
|
||||||
|
msgid "The IP/address of the octonet server. Note that in case of an address, the protocol (http://) has to be omitted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30601"
|
||||||
|
msgid "General settings required by the add-on."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30602"
|
||||||
|
msgid "Timeshift settings for pausing/rewinding and fast-forwarding live streams."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30603"
|
||||||
|
msgid "Enable the timeshift feature."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30604"
|
||||||
|
msgid "Open settings dialog for inputstream.ffmpegdirect for modification of timeshift and other settings."
|
||||||
|
msgstr ""
|
@ -0,0 +1,67 @@
|
|||||||
|
# Kodi Media Center language file
|
||||||
|
# Addon Name: PVR Octonet Client
|
||||||
|
# Addon id: pvr.octonet
|
||||||
|
# Addon Provider: Julian Scheel
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: KODI Main\n"
|
||||||
|
"Report-Msgid-Bugs-To: translations@kodi.tv\n"
|
||||||
|
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"PO-Revision-Date: 2024-04-13 11:37+0000\n"
|
||||||
|
"Last-Translator: Christian Gade <gade@kodi.tv>\n"
|
||||||
|
"Language-Team: Malay <https://kodi.weblate.cloud/projects/kodi-add-ons-pvr-clients/pvr-octonet/ms_my/>\n"
|
||||||
|
"Language: ms_my\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||||
|
"X-Generator: Weblate 5.4.3\n"
|
||||||
|
|
||||||
|
msgctxt "Addon Summary"
|
||||||
|
msgid "Kodi PVR Addon for Digital Devices Octopus NET Streams"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30000"
|
||||||
|
msgid "Octonet Server Address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30001"
|
||||||
|
msgid "Could not load chanellist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30002"
|
||||||
|
msgid "Timeshift"
|
||||||
|
msgstr "Anjak Masa"
|
||||||
|
|
||||||
|
msgctxt "#30003"
|
||||||
|
msgid "Enable timeshift"
|
||||||
|
msgstr "Benarkan anjak masa"
|
||||||
|
|
||||||
|
msgctxt "#30004"
|
||||||
|
msgid "- Modify inputstream.ffmpegdirect settings..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30005"
|
||||||
|
msgid "Inputstream settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#empty strings from id 30006 to 30599
|
||||||
|
msgctxt "#30600"
|
||||||
|
msgid "The IP/address of the octonet server. Note that in case of an address, the protocol (http://) has to be omitted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30601"
|
||||||
|
msgid "General settings required by the add-on."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30602"
|
||||||
|
msgid "Timeshift settings for pausing/rewinding and fast-forwarding live streams."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30603"
|
||||||
|
msgid "Enable the timeshift feature."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30604"
|
||||||
|
msgid "Open settings dialog for inputstream.ffmpegdirect for modification of timeshift and other settings."
|
||||||
|
msgstr ""
|
@ -0,0 +1,66 @@
|
|||||||
|
# Kodi Media Center language file
|
||||||
|
# Addon Name: PVR Octonet Client
|
||||||
|
# Addon id: pvr.octonet
|
||||||
|
# Addon Provider: Julian Scheel
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: KODI Main\n"
|
||||||
|
"Report-Msgid-Bugs-To: https://github.com/DigitalDevices/pvr.octonet/issues\n"
|
||||||
|
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: Automatically generated\n"
|
||||||
|
"Language-Team: none\n"
|
||||||
|
"Language: mt_mt\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=4; plural=n==1 ? 0 : n==0 || ( n%100>1 && n%100<11) ? 1 : (n%100>10 && n%100<20 ) ? 2 : 3;\n"
|
||||||
|
|
||||||
|
msgctxt "Addon Summary"
|
||||||
|
msgid "Kodi PVR Addon for Digital Devices Octopus NET Streams"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30000"
|
||||||
|
msgid "Octonet Server Address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30001"
|
||||||
|
msgid "Could not load chanellist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30002"
|
||||||
|
msgid "Timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30003"
|
||||||
|
msgid "Enable timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30004"
|
||||||
|
msgid "- Modify inputstream.ffmpegdirect settings..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30005"
|
||||||
|
msgid "Inputstream settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#empty strings from id 30006 to 30599
|
||||||
|
msgctxt "#30600"
|
||||||
|
msgid "The IP/address of the octonet server. Note that in case of an address, the protocol (http://) has to be omitted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30601"
|
||||||
|
msgid "General settings required by the add-on."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30602"
|
||||||
|
msgid "Timeshift settings for pausing/rewinding and fast-forwarding live streams."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30603"
|
||||||
|
msgid "Enable the timeshift feature."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30604"
|
||||||
|
msgid "Open settings dialog for inputstream.ffmpegdirect for modification of timeshift and other settings."
|
||||||
|
msgstr ""
|
@ -0,0 +1,66 @@
|
|||||||
|
# Kodi Media Center language file
|
||||||
|
# Addon Name: PVR Octonet Client
|
||||||
|
# Addon id: pvr.octonet
|
||||||
|
# Addon Provider: Julian Scheel
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: KODI Main\n"
|
||||||
|
"Report-Msgid-Bugs-To: https://github.com/DigitalDevices/pvr.octonet/issues\n"
|
||||||
|
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: Automatically generated\n"
|
||||||
|
"Language-Team: none\n"
|
||||||
|
"Language: my_mm\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||||
|
|
||||||
|
msgctxt "Addon Summary"
|
||||||
|
msgid "Kodi PVR Addon for Digital Devices Octopus NET Streams"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30000"
|
||||||
|
msgid "Octonet Server Address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30001"
|
||||||
|
msgid "Could not load chanellist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30002"
|
||||||
|
msgid "Timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30003"
|
||||||
|
msgid "Enable timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30004"
|
||||||
|
msgid "- Modify inputstream.ffmpegdirect settings..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30005"
|
||||||
|
msgid "Inputstream settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#empty strings from id 30006 to 30599
|
||||||
|
msgctxt "#30600"
|
||||||
|
msgid "The IP/address of the octonet server. Note that in case of an address, the protocol (http://) has to be omitted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30601"
|
||||||
|
msgid "General settings required by the add-on."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30602"
|
||||||
|
msgid "Timeshift settings for pausing/rewinding and fast-forwarding live streams."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30603"
|
||||||
|
msgid "Enable the timeshift feature."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30604"
|
||||||
|
msgid "Open settings dialog for inputstream.ffmpegdirect for modification of timeshift and other settings."
|
||||||
|
msgstr ""
|
@ -0,0 +1,67 @@
|
|||||||
|
# Kodi Media Center language file
|
||||||
|
# Addon Name: PVR Octonet Client
|
||||||
|
# Addon id: pvr.octonet
|
||||||
|
# Addon Provider: Julian Scheel
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: KODI Main\n"
|
||||||
|
"Report-Msgid-Bugs-To: translations@kodi.tv\n"
|
||||||
|
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"PO-Revision-Date: 2024-04-13 11:37+0000\n"
|
||||||
|
"Last-Translator: Christian Gade <gade@kodi.tv>\n"
|
||||||
|
"Language-Team: Norwegian Bokmål <https://kodi.weblate.cloud/projects/kodi-add-ons-pvr-clients/pvr-octonet/nb_no/>\n"
|
||||||
|
"Language: nb_no\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
|
"X-Generator: Weblate 5.4.3\n"
|
||||||
|
|
||||||
|
msgctxt "Addon Summary"
|
||||||
|
msgid "Kodi PVR Addon for Digital Devices Octopus NET Streams"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30000"
|
||||||
|
msgid "Octonet Server Address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30001"
|
||||||
|
msgid "Could not load chanellist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30002"
|
||||||
|
msgid "Timeshift"
|
||||||
|
msgstr "Tdsforskyvning"
|
||||||
|
|
||||||
|
msgctxt "#30003"
|
||||||
|
msgid "Enable timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30004"
|
||||||
|
msgid "- Modify inputstream.ffmpegdirect settings..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30005"
|
||||||
|
msgid "Inputstream settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#empty strings from id 30006 to 30599
|
||||||
|
msgctxt "#30600"
|
||||||
|
msgid "The IP/address of the octonet server. Note that in case of an address, the protocol (http://) has to be omitted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30601"
|
||||||
|
msgid "General settings required by the add-on."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30602"
|
||||||
|
msgid "Timeshift settings for pausing/rewinding and fast-forwarding live streams."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30603"
|
||||||
|
msgid "Enable the timeshift feature."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30604"
|
||||||
|
msgid "Open settings dialog for inputstream.ffmpegdirect for modification of timeshift and other settings."
|
||||||
|
msgstr ""
|
@ -0,0 +1,67 @@
|
|||||||
|
# Kodi Media Center language file
|
||||||
|
# Addon Name: PVR Octonet Client
|
||||||
|
# Addon id: pvr.octonet
|
||||||
|
# Addon Provider: Julian Scheel
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: KODI Main\n"
|
||||||
|
"Report-Msgid-Bugs-To: translations@kodi.tv\n"
|
||||||
|
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"PO-Revision-Date: 2024-04-13 11:37+0000\n"
|
||||||
|
"Last-Translator: Christian Gade <gade@kodi.tv>\n"
|
||||||
|
"Language-Team: Dutch <https://kodi.weblate.cloud/projects/kodi-add-ons-pvr-clients/pvr-octonet/nl_nl/>\n"
|
||||||
|
"Language: nl_nl\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
|
"X-Generator: Weblate 5.4.3\n"
|
||||||
|
|
||||||
|
msgctxt "Addon Summary"
|
||||||
|
msgid "Kodi PVR Addon for Digital Devices Octopus NET Streams"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30000"
|
||||||
|
msgid "Octonet Server Address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30001"
|
||||||
|
msgid "Could not load chanellist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30002"
|
||||||
|
msgid "Timeshift"
|
||||||
|
msgstr "Timeshift"
|
||||||
|
|
||||||
|
msgctxt "#30003"
|
||||||
|
msgid "Enable timeshift"
|
||||||
|
msgstr "Timeshift inschakelen"
|
||||||
|
|
||||||
|
msgctxt "#30004"
|
||||||
|
msgid "- Modify inputstream.ffmpegdirect settings..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30005"
|
||||||
|
msgid "Inputstream settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#empty strings from id 30006 to 30599
|
||||||
|
msgctxt "#30600"
|
||||||
|
msgid "The IP/address of the octonet server. Note that in case of an address, the protocol (http://) has to be omitted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30601"
|
||||||
|
msgid "General settings required by the add-on."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30602"
|
||||||
|
msgid "Timeshift settings for pausing/rewinding and fast-forwarding live streams."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30603"
|
||||||
|
msgid "Enable the timeshift feature."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30604"
|
||||||
|
msgid "Open settings dialog for inputstream.ffmpegdirect for modification of timeshift and other settings."
|
||||||
|
msgstr ""
|
@ -0,0 +1,67 @@
|
|||||||
|
# Kodi Media Center language file
|
||||||
|
# Addon Name: PVR Octonet Client
|
||||||
|
# Addon id: pvr.octonet
|
||||||
|
# Addon Provider: Julian Scheel
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: KODI Main\n"
|
||||||
|
"Report-Msgid-Bugs-To: translations@kodi.tv\n"
|
||||||
|
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"PO-Revision-Date: 2024-04-13 20:53+0000\n"
|
||||||
|
"Last-Translator: Marek Adamski <fevbew@wp.pl>\n"
|
||||||
|
"Language-Team: Polish <https://kodi.weblate.cloud/projects/kodi-add-ons-pvr-clients/pvr-octonet/pl_pl/>\n"
|
||||||
|
"Language: pl_pl\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
|
||||||
|
"X-Generator: Weblate 5.4.3\n"
|
||||||
|
|
||||||
|
msgctxt "Addon Summary"
|
||||||
|
msgid "Kodi PVR Addon for Digital Devices Octopus NET Streams"
|
||||||
|
msgstr "Klient telewizji dla strumieni Digital Devices Octopus NET"
|
||||||
|
|
||||||
|
msgctxt "#30000"
|
||||||
|
msgid "Octonet Server Address"
|
||||||
|
msgstr "Adres serwera Octonet"
|
||||||
|
|
||||||
|
msgctxt "#30001"
|
||||||
|
msgid "Could not load chanellist"
|
||||||
|
msgstr "Nie można załadować listy kanałów"
|
||||||
|
|
||||||
|
msgctxt "#30002"
|
||||||
|
msgid "Timeshift"
|
||||||
|
msgstr "Przesunięcie czasowe"
|
||||||
|
|
||||||
|
msgctxt "#30003"
|
||||||
|
msgid "Enable timeshift"
|
||||||
|
msgstr "Aktywuj funkcję przesunięcia czasowego"
|
||||||
|
|
||||||
|
msgctxt "#30004"
|
||||||
|
msgid "- Modify inputstream.ffmpegdirect settings..."
|
||||||
|
msgstr "- Zmodyfikuj ustawienia inputstream.ffmpegdirect..."
|
||||||
|
|
||||||
|
msgctxt "#30005"
|
||||||
|
msgid "Inputstream settings"
|
||||||
|
msgstr "Ustawienia InputStream"
|
||||||
|
|
||||||
|
#empty strings from id 30006 to 30599
|
||||||
|
msgctxt "#30600"
|
||||||
|
msgid "The IP/address of the octonet server. Note that in case of an address, the protocol (http://) has to be omitted."
|
||||||
|
msgstr "IP/adres serwera Octonet. Zauważ, że w przypadku adresu protokół (http: //) należy pominąć."
|
||||||
|
|
||||||
|
msgctxt "#30601"
|
||||||
|
msgid "General settings required by the add-on."
|
||||||
|
msgstr "Ustawienia ogólne wymagane przez dodatek."
|
||||||
|
|
||||||
|
msgctxt "#30602"
|
||||||
|
msgid "Timeshift settings for pausing/rewinding and fast-forwarding live streams."
|
||||||
|
msgstr "Ustawienia przesunięcia czasowego do wstrzymywania/przewijania i przewijania transmisji na żywo."
|
||||||
|
|
||||||
|
msgctxt "#30603"
|
||||||
|
msgid "Enable the timeshift feature."
|
||||||
|
msgstr "Włącz funkcję przesunięcia czasowego."
|
||||||
|
|
||||||
|
msgctxt "#30604"
|
||||||
|
msgid "Open settings dialog for inputstream.ffmpegdirect for modification of timeshift and other settings."
|
||||||
|
msgstr "Otwórz okno ustawień dla inputstream.ffmpegdirect w celu modyfikacji przesunięcia czasowego i innych ustawień."
|
@ -0,0 +1,67 @@
|
|||||||
|
# Kodi Media Center language file
|
||||||
|
# Addon Name: PVR Octonet Client
|
||||||
|
# Addon id: pvr.octonet
|
||||||
|
# Addon Provider: Julian Scheel
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: KODI Main\n"
|
||||||
|
"Report-Msgid-Bugs-To: translations@kodi.tv\n"
|
||||||
|
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"PO-Revision-Date: 2024-04-13 11:37+0000\n"
|
||||||
|
"Last-Translator: Christian Gade <gade@kodi.tv>\n"
|
||||||
|
"Language-Team: Portuguese (Brazil) <https://kodi.weblate.cloud/projects/kodi-add-ons-pvr-clients/pvr-octonet/pt_br/>\n"
|
||||||
|
"Language: pt_br\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||||
|
"X-Generator: Weblate 5.4.3\n"
|
||||||
|
|
||||||
|
msgctxt "Addon Summary"
|
||||||
|
msgid "Kodi PVR Addon for Digital Devices Octopus NET Streams"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30000"
|
||||||
|
msgid "Octonet Server Address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30001"
|
||||||
|
msgid "Could not load chanellist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30002"
|
||||||
|
msgid "Timeshift"
|
||||||
|
msgstr "Ver Mais Tarde"
|
||||||
|
|
||||||
|
msgctxt "#30003"
|
||||||
|
msgid "Enable timeshift"
|
||||||
|
msgstr "Ativar Ver mais tarde"
|
||||||
|
|
||||||
|
msgctxt "#30004"
|
||||||
|
msgid "- Modify inputstream.ffmpegdirect settings..."
|
||||||
|
msgstr "- Modificar as configurações do inputstream.ffmpegdirect..."
|
||||||
|
|
||||||
|
msgctxt "#30005"
|
||||||
|
msgid "Inputstream settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#empty strings from id 30006 to 30599
|
||||||
|
msgctxt "#30600"
|
||||||
|
msgid "The IP/address of the octonet server. Note that in case of an address, the protocol (http://) has to be omitted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30601"
|
||||||
|
msgid "General settings required by the add-on."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30602"
|
||||||
|
msgid "Timeshift settings for pausing/rewinding and fast-forwarding live streams."
|
||||||
|
msgstr "Configurações de Timeshift para pausar/retroceder e avançar rapidamente as transmissões ao vivo."
|
||||||
|
|
||||||
|
msgctxt "#30603"
|
||||||
|
msgid "Enable the timeshift feature."
|
||||||
|
msgstr "Ativa o recurso de timeshift."
|
||||||
|
|
||||||
|
msgctxt "#30604"
|
||||||
|
msgid "Open settings dialog for inputstream.ffmpegdirect for modification of timeshift and other settings."
|
||||||
|
msgstr "Abra a caixa de diálogo de configurações do inputstream.ffmpegdirect para modificar o timeshift e outras configurações."
|
@ -0,0 +1,66 @@
|
|||||||
|
# Kodi Media Center language file
|
||||||
|
# Addon Name: PVR Octonet Client
|
||||||
|
# Addon id: pvr.octonet
|
||||||
|
# Addon Provider: Julian Scheel
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: KODI Main\n"
|
||||||
|
"Report-Msgid-Bugs-To: https://github.com/DigitalDevices/pvr.octonet/issues\n"
|
||||||
|
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: Automatically generated\n"
|
||||||
|
"Language-Team: none\n"
|
||||||
|
"Language: pt_pt\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||||
|
|
||||||
|
msgctxt "Addon Summary"
|
||||||
|
msgid "Kodi PVR Addon for Digital Devices Octopus NET Streams"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30000"
|
||||||
|
msgid "Octonet Server Address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30001"
|
||||||
|
msgid "Could not load chanellist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30002"
|
||||||
|
msgid "Timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30003"
|
||||||
|
msgid "Enable timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30004"
|
||||||
|
msgid "- Modify inputstream.ffmpegdirect settings..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30005"
|
||||||
|
msgid "Inputstream settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#empty strings from id 30006 to 30599
|
||||||
|
msgctxt "#30600"
|
||||||
|
msgid "The IP/address of the octonet server. Note that in case of an address, the protocol (http://) has to be omitted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30601"
|
||||||
|
msgid "General settings required by the add-on."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30602"
|
||||||
|
msgid "Timeshift settings for pausing/rewinding and fast-forwarding live streams."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30603"
|
||||||
|
msgid "Enable the timeshift feature."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30604"
|
||||||
|
msgid "Open settings dialog for inputstream.ffmpegdirect for modification of timeshift and other settings."
|
||||||
|
msgstr ""
|
@ -0,0 +1,67 @@
|
|||||||
|
# Kodi Media Center language file
|
||||||
|
# Addon Name: PVR Octonet Client
|
||||||
|
# Addon id: pvr.octonet
|
||||||
|
# Addon Provider: Julian Scheel
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: KODI Main\n"
|
||||||
|
"Report-Msgid-Bugs-To: translations@kodi.tv\n"
|
||||||
|
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"PO-Revision-Date: 2024-04-13 11:37+0000\n"
|
||||||
|
"Last-Translator: Christian Gade <gade@kodi.tv>\n"
|
||||||
|
"Language-Team: Romanian <https://kodi.weblate.cloud/projects/kodi-add-ons-pvr-clients/pvr-octonet/ro_ro/>\n"
|
||||||
|
"Language: ro_ro\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < 20)) ? 1 : 2;\n"
|
||||||
|
"X-Generator: Weblate 5.4.3\n"
|
||||||
|
|
||||||
|
msgctxt "Addon Summary"
|
||||||
|
msgid "Kodi PVR Addon for Digital Devices Octopus NET Streams"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30000"
|
||||||
|
msgid "Octonet Server Address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30001"
|
||||||
|
msgid "Could not load chanellist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30002"
|
||||||
|
msgid "Timeshift"
|
||||||
|
msgstr "Decalaj temporal"
|
||||||
|
|
||||||
|
msgctxt "#30003"
|
||||||
|
msgid "Enable timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30004"
|
||||||
|
msgid "- Modify inputstream.ffmpegdirect settings..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30005"
|
||||||
|
msgid "Inputstream settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#empty strings from id 30006 to 30599
|
||||||
|
msgctxt "#30600"
|
||||||
|
msgid "The IP/address of the octonet server. Note that in case of an address, the protocol (http://) has to be omitted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30601"
|
||||||
|
msgid "General settings required by the add-on."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30602"
|
||||||
|
msgid "Timeshift settings for pausing/rewinding and fast-forwarding live streams."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30603"
|
||||||
|
msgid "Enable the timeshift feature."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30604"
|
||||||
|
msgid "Open settings dialog for inputstream.ffmpegdirect for modification of timeshift and other settings."
|
||||||
|
msgstr ""
|
@ -0,0 +1,67 @@
|
|||||||
|
# Kodi Media Center language file
|
||||||
|
# Addon Name: PVR Octonet Client
|
||||||
|
# Addon id: pvr.octonet
|
||||||
|
# Addon Provider: Julian Scheel
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: KODI Main\n"
|
||||||
|
"Report-Msgid-Bugs-To: translations@kodi.tv\n"
|
||||||
|
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"PO-Revision-Date: 2024-04-13 11:37+0000\n"
|
||||||
|
"Last-Translator: Christian Gade <gade@kodi.tv>\n"
|
||||||
|
"Language-Team: Russian <https://kodi.weblate.cloud/projects/kodi-add-ons-pvr-clients/pvr-octonet/ru_ru/>\n"
|
||||||
|
"Language: ru_ru\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
|
||||||
|
"X-Generator: Weblate 5.4.3\n"
|
||||||
|
|
||||||
|
msgctxt "Addon Summary"
|
||||||
|
msgid "Kodi PVR Addon for Digital Devices Octopus NET Streams"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30000"
|
||||||
|
msgid "Octonet Server Address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30001"
|
||||||
|
msgid "Could not load chanellist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30002"
|
||||||
|
msgid "Timeshift"
|
||||||
|
msgstr "Таймшифт"
|
||||||
|
|
||||||
|
msgctxt "#30003"
|
||||||
|
msgid "Enable timeshift"
|
||||||
|
msgstr "Включить сдвиг по времени"
|
||||||
|
|
||||||
|
msgctxt "#30004"
|
||||||
|
msgid "- Modify inputstream.ffmpegdirect settings..."
|
||||||
|
msgstr "- Изменить настройки inputstream.ffmpegdirect..."
|
||||||
|
|
||||||
|
msgctxt "#30005"
|
||||||
|
msgid "Inputstream settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#empty strings from id 30006 to 30599
|
||||||
|
msgctxt "#30600"
|
||||||
|
msgid "The IP/address of the octonet server. Note that in case of an address, the protocol (http://) has to be omitted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30601"
|
||||||
|
msgid "General settings required by the add-on."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30602"
|
||||||
|
msgid "Timeshift settings for pausing/rewinding and fast-forwarding live streams."
|
||||||
|
msgstr "Настройка функции timeshift для паузы/перемотки трансляций."
|
||||||
|
|
||||||
|
msgctxt "#30603"
|
||||||
|
msgid "Enable the timeshift feature."
|
||||||
|
msgstr "Включить функцию timeshift (сдвиг во времени)."
|
||||||
|
|
||||||
|
msgctxt "#30604"
|
||||||
|
msgid "Open settings dialog for inputstream.ffmpegdirect for modification of timeshift and other settings."
|
||||||
|
msgstr "Открыть меню настроек inputstream.ffmpegdirect для изменения timeshift и других настроек."
|
@ -0,0 +1,66 @@
|
|||||||
|
# Kodi Media Center language file
|
||||||
|
# Addon Name: PVR Octonet Client
|
||||||
|
# Addon id: pvr.octonet
|
||||||
|
# Addon Provider: Julian Scheel
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: KODI Main\n"
|
||||||
|
"Report-Msgid-Bugs-To: https://github.com/DigitalDevices/pvr.octonet/issues\n"
|
||||||
|
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: Automatically generated\n"
|
||||||
|
"Language-Team: none\n"
|
||||||
|
"Language: si_lk\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||||
|
|
||||||
|
msgctxt "Addon Summary"
|
||||||
|
msgid "Kodi PVR Addon for Digital Devices Octopus NET Streams"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30000"
|
||||||
|
msgid "Octonet Server Address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30001"
|
||||||
|
msgid "Could not load chanellist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30002"
|
||||||
|
msgid "Timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30003"
|
||||||
|
msgid "Enable timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30004"
|
||||||
|
msgid "- Modify inputstream.ffmpegdirect settings..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30005"
|
||||||
|
msgid "Inputstream settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#empty strings from id 30006 to 30599
|
||||||
|
msgctxt "#30600"
|
||||||
|
msgid "The IP/address of the octonet server. Note that in case of an address, the protocol (http://) has to be omitted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30601"
|
||||||
|
msgid "General settings required by the add-on."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30602"
|
||||||
|
msgid "Timeshift settings for pausing/rewinding and fast-forwarding live streams."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30603"
|
||||||
|
msgid "Enable the timeshift feature."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30604"
|
||||||
|
msgid "Open settings dialog for inputstream.ffmpegdirect for modification of timeshift and other settings."
|
||||||
|
msgstr ""
|
@ -0,0 +1,67 @@
|
|||||||
|
# Kodi Media Center language file
|
||||||
|
# Addon Name: PVR Octonet Client
|
||||||
|
# Addon id: pvr.octonet
|
||||||
|
# Addon Provider: Julian Scheel
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: KODI Main\n"
|
||||||
|
"Report-Msgid-Bugs-To: translations@kodi.tv\n"
|
||||||
|
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"PO-Revision-Date: 2024-04-13 11:37+0000\n"
|
||||||
|
"Last-Translator: Christian Gade <gade@kodi.tv>\n"
|
||||||
|
"Language-Team: Slovak <https://kodi.weblate.cloud/projects/kodi-add-ons-pvr-clients/pvr-octonet/sk_sk/>\n"
|
||||||
|
"Language: sk_sk\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
|
||||||
|
"X-Generator: Weblate 5.4.3\n"
|
||||||
|
|
||||||
|
msgctxt "Addon Summary"
|
||||||
|
msgid "Kodi PVR Addon for Digital Devices Octopus NET Streams"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30000"
|
||||||
|
msgid "Octonet Server Address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30001"
|
||||||
|
msgid "Could not load chanellist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30002"
|
||||||
|
msgid "Timeshift"
|
||||||
|
msgstr "Časový posun"
|
||||||
|
|
||||||
|
msgctxt "#30003"
|
||||||
|
msgid "Enable timeshift"
|
||||||
|
msgstr "Povoliť časový posun"
|
||||||
|
|
||||||
|
msgctxt "#30004"
|
||||||
|
msgid "- Modify inputstream.ffmpegdirect settings..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30005"
|
||||||
|
msgid "Inputstream settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#empty strings from id 30006 to 30599
|
||||||
|
msgctxt "#30600"
|
||||||
|
msgid "The IP/address of the octonet server. Note that in case of an address, the protocol (http://) has to be omitted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30601"
|
||||||
|
msgid "General settings required by the add-on."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30602"
|
||||||
|
msgid "Timeshift settings for pausing/rewinding and fast-forwarding live streams."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30603"
|
||||||
|
msgid "Enable the timeshift feature."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30604"
|
||||||
|
msgid "Open settings dialog for inputstream.ffmpegdirect for modification of timeshift and other settings."
|
||||||
|
msgstr ""
|
@ -0,0 +1,67 @@
|
|||||||
|
# Kodi Media Center language file
|
||||||
|
# Addon Name: PVR Octonet Client
|
||||||
|
# Addon id: pvr.octonet
|
||||||
|
# Addon Provider: Julian Scheel
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: KODI Main\n"
|
||||||
|
"Report-Msgid-Bugs-To: translations@kodi.tv\n"
|
||||||
|
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"PO-Revision-Date: 2024-04-13 11:37+0000\n"
|
||||||
|
"Last-Translator: Christian Gade <gade@kodi.tv>\n"
|
||||||
|
"Language-Team: Slovenian <https://kodi.weblate.cloud/projects/kodi-add-ons-pvr-clients/pvr-octonet/sl_si/>\n"
|
||||||
|
"Language: sl_si\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3;\n"
|
||||||
|
"X-Generator: Weblate 5.4.3\n"
|
||||||
|
|
||||||
|
msgctxt "Addon Summary"
|
||||||
|
msgid "Kodi PVR Addon for Digital Devices Octopus NET Streams"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30000"
|
||||||
|
msgid "Octonet Server Address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30001"
|
||||||
|
msgid "Could not load chanellist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30002"
|
||||||
|
msgid "Timeshift"
|
||||||
|
msgstr "Časovni zamik"
|
||||||
|
|
||||||
|
msgctxt "#30003"
|
||||||
|
msgid "Enable timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30004"
|
||||||
|
msgid "- Modify inputstream.ffmpegdirect settings..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30005"
|
||||||
|
msgid "Inputstream settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#empty strings from id 30006 to 30599
|
||||||
|
msgctxt "#30600"
|
||||||
|
msgid "The IP/address of the octonet server. Note that in case of an address, the protocol (http://) has to be omitted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30601"
|
||||||
|
msgid "General settings required by the add-on."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30602"
|
||||||
|
msgid "Timeshift settings for pausing/rewinding and fast-forwarding live streams."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30603"
|
||||||
|
msgid "Enable the timeshift feature."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30604"
|
||||||
|
msgid "Open settings dialog for inputstream.ffmpegdirect for modification of timeshift and other settings."
|
||||||
|
msgstr ""
|
@ -0,0 +1,66 @@
|
|||||||
|
# Kodi Media Center language file
|
||||||
|
# Addon Name: PVR Octonet Client
|
||||||
|
# Addon id: pvr.octonet
|
||||||
|
# Addon Provider: Julian Scheel
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: KODI Main\n"
|
||||||
|
"Report-Msgid-Bugs-To: https://github.com/DigitalDevices/pvr.octonet/issues\n"
|
||||||
|
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: Automatically generated\n"
|
||||||
|
"Language-Team: none\n"
|
||||||
|
"Language: sq_al\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
|
|
||||||
|
msgctxt "Addon Summary"
|
||||||
|
msgid "Kodi PVR Addon for Digital Devices Octopus NET Streams"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30000"
|
||||||
|
msgid "Octonet Server Address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30001"
|
||||||
|
msgid "Could not load chanellist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30002"
|
||||||
|
msgid "Timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30003"
|
||||||
|
msgid "Enable timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30004"
|
||||||
|
msgid "- Modify inputstream.ffmpegdirect settings..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30005"
|
||||||
|
msgid "Inputstream settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#empty strings from id 30006 to 30599
|
||||||
|
msgctxt "#30600"
|
||||||
|
msgid "The IP/address of the octonet server. Note that in case of an address, the protocol (http://) has to be omitted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30601"
|
||||||
|
msgid "General settings required by the add-on."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30602"
|
||||||
|
msgid "Timeshift settings for pausing/rewinding and fast-forwarding live streams."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30603"
|
||||||
|
msgid "Enable the timeshift feature."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30604"
|
||||||
|
msgid "Open settings dialog for inputstream.ffmpegdirect for modification of timeshift and other settings."
|
||||||
|
msgstr ""
|
@ -0,0 +1,67 @@
|
|||||||
|
# Kodi Media Center language file
|
||||||
|
# Addon Name: PVR Octonet Client
|
||||||
|
# Addon id: pvr.octonet
|
||||||
|
# Addon Provider: Julian Scheel
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: KODI Main\n"
|
||||||
|
"Report-Msgid-Bugs-To: translations@kodi.tv\n"
|
||||||
|
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"PO-Revision-Date: 2024-04-13 11:37+0000\n"
|
||||||
|
"Last-Translator: Christian Gade <gade@kodi.tv>\n"
|
||||||
|
"Language-Team: Serbian <https://kodi.weblate.cloud/projects/kodi-add-ons-pvr-clients/pvr-octonet/sr_rs/>\n"
|
||||||
|
"Language: sr_rs\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
|
||||||
|
"X-Generator: Weblate 5.4.3\n"
|
||||||
|
|
||||||
|
msgctxt "Addon Summary"
|
||||||
|
msgid "Kodi PVR Addon for Digital Devices Octopus NET Streams"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30000"
|
||||||
|
msgid "Octonet Server Address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30001"
|
||||||
|
msgid "Could not load chanellist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30002"
|
||||||
|
msgid "Timeshift"
|
||||||
|
msgstr "Померај времена"
|
||||||
|
|
||||||
|
msgctxt "#30003"
|
||||||
|
msgid "Enable timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30004"
|
||||||
|
msgid "- Modify inputstream.ffmpegdirect settings..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30005"
|
||||||
|
msgid "Inputstream settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#empty strings from id 30006 to 30599
|
||||||
|
msgctxt "#30600"
|
||||||
|
msgid "The IP/address of the octonet server. Note that in case of an address, the protocol (http://) has to be omitted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30601"
|
||||||
|
msgid "General settings required by the add-on."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30602"
|
||||||
|
msgid "Timeshift settings for pausing/rewinding and fast-forwarding live streams."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30603"
|
||||||
|
msgid "Enable the timeshift feature."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30604"
|
||||||
|
msgid "Open settings dialog for inputstream.ffmpegdirect for modification of timeshift and other settings."
|
||||||
|
msgstr ""
|
@ -0,0 +1,67 @@
|
|||||||
|
# Kodi Media Center language file
|
||||||
|
# Addon Name: PVR Octonet Client
|
||||||
|
# Addon id: pvr.octonet
|
||||||
|
# Addon Provider: Julian Scheel
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: KODI Main\n"
|
||||||
|
"Report-Msgid-Bugs-To: translations@kodi.tv\n"
|
||||||
|
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"PO-Revision-Date: 2024-04-13 11:37+0000\n"
|
||||||
|
"Last-Translator: Christian Gade <gade@kodi.tv>\n"
|
||||||
|
"Language-Team: Serbian (latin) <https://kodi.weblate.cloud/projects/kodi-add-ons-pvr-clients/pvr-octonet/sr_Latn/>\n"
|
||||||
|
"Language: sr_rs@latin\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
|
||||||
|
"X-Generator: Weblate 5.4.3\n"
|
||||||
|
|
||||||
|
msgctxt "Addon Summary"
|
||||||
|
msgid "Kodi PVR Addon for Digital Devices Octopus NET Streams"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30000"
|
||||||
|
msgid "Octonet Server Address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30001"
|
||||||
|
msgid "Could not load chanellist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30002"
|
||||||
|
msgid "Timeshift"
|
||||||
|
msgstr "Pomeraj vremena"
|
||||||
|
|
||||||
|
msgctxt "#30003"
|
||||||
|
msgid "Enable timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30004"
|
||||||
|
msgid "- Modify inputstream.ffmpegdirect settings..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30005"
|
||||||
|
msgid "Inputstream settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#empty strings from id 30006 to 30599
|
||||||
|
msgctxt "#30600"
|
||||||
|
msgid "The IP/address of the octonet server. Note that in case of an address, the protocol (http://) has to be omitted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30601"
|
||||||
|
msgid "General settings required by the add-on."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30602"
|
||||||
|
msgid "Timeshift settings for pausing/rewinding and fast-forwarding live streams."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30603"
|
||||||
|
msgid "Enable the timeshift feature."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30604"
|
||||||
|
msgid "Open settings dialog for inputstream.ffmpegdirect for modification of timeshift and other settings."
|
||||||
|
msgstr ""
|
@ -0,0 +1,67 @@
|
|||||||
|
# Kodi Media Center language file
|
||||||
|
# Addon Name: PVR Octonet Client
|
||||||
|
# Addon id: pvr.octonet
|
||||||
|
# Addon Provider: Julian Scheel
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: KODI Main\n"
|
||||||
|
"Report-Msgid-Bugs-To: translations@kodi.tv\n"
|
||||||
|
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"PO-Revision-Date: 2024-04-13 11:37+0000\n"
|
||||||
|
"Last-Translator: Christian Gade <gade@kodi.tv>\n"
|
||||||
|
"Language-Team: Swedish <https://kodi.weblate.cloud/projects/kodi-add-ons-pvr-clients/pvr-octonet/sv_se/>\n"
|
||||||
|
"Language: sv_se\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
|
"X-Generator: Weblate 5.4.3\n"
|
||||||
|
|
||||||
|
msgctxt "Addon Summary"
|
||||||
|
msgid "Kodi PVR Addon for Digital Devices Octopus NET Streams"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30000"
|
||||||
|
msgid "Octonet Server Address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30001"
|
||||||
|
msgid "Could not load chanellist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30002"
|
||||||
|
msgid "Timeshift"
|
||||||
|
msgstr "Tidsförskjutning"
|
||||||
|
|
||||||
|
msgctxt "#30003"
|
||||||
|
msgid "Enable timeshift"
|
||||||
|
msgstr "Aktivera tidsskifte"
|
||||||
|
|
||||||
|
msgctxt "#30004"
|
||||||
|
msgid "- Modify inputstream.ffmpegdirect settings..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30005"
|
||||||
|
msgid "Inputstream settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#empty strings from id 30006 to 30599
|
||||||
|
msgctxt "#30600"
|
||||||
|
msgid "The IP/address of the octonet server. Note that in case of an address, the protocol (http://) has to be omitted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30601"
|
||||||
|
msgid "General settings required by the add-on."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30602"
|
||||||
|
msgid "Timeshift settings for pausing/rewinding and fast-forwarding live streams."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30603"
|
||||||
|
msgid "Enable the timeshift feature."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30604"
|
||||||
|
msgid "Open settings dialog for inputstream.ffmpegdirect for modification of timeshift and other settings."
|
||||||
|
msgstr ""
|
@ -0,0 +1,67 @@
|
|||||||
|
# Kodi Media Center language file
|
||||||
|
# Addon Name: PVR Octonet Client
|
||||||
|
# Addon id: pvr.octonet
|
||||||
|
# Addon Provider: Julian Scheel
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: KODI Main\n"
|
||||||
|
"Report-Msgid-Bugs-To: translations@kodi.tv\n"
|
||||||
|
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"PO-Revision-Date: 2024-04-13 11:37+0000\n"
|
||||||
|
"Last-Translator: Christian Gade <gade@kodi.tv>\n"
|
||||||
|
"Language-Team: Silesian <https://kodi.weblate.cloud/projects/kodi-add-ons-pvr-clients/pvr-octonet/szl/>\n"
|
||||||
|
"Language: szl\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
|
||||||
|
"X-Generator: Weblate 5.4.3\n"
|
||||||
|
|
||||||
|
msgctxt "Addon Summary"
|
||||||
|
msgid "Kodi PVR Addon for Digital Devices Octopus NET Streams"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30000"
|
||||||
|
msgid "Octonet Server Address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30001"
|
||||||
|
msgid "Could not load chanellist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30002"
|
||||||
|
msgid "Timeshift"
|
||||||
|
msgstr "Timeshift"
|
||||||
|
|
||||||
|
msgctxt "#30003"
|
||||||
|
msgid "Enable timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30004"
|
||||||
|
msgid "- Modify inputstream.ffmpegdirect settings..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30005"
|
||||||
|
msgid "Inputstream settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#empty strings from id 30006 to 30599
|
||||||
|
msgctxt "#30600"
|
||||||
|
msgid "The IP/address of the octonet server. Note that in case of an address, the protocol (http://) has to be omitted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30601"
|
||||||
|
msgid "General settings required by the add-on."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30602"
|
||||||
|
msgid "Timeshift settings for pausing/rewinding and fast-forwarding live streams."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30603"
|
||||||
|
msgid "Enable the timeshift feature."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30604"
|
||||||
|
msgid "Open settings dialog for inputstream.ffmpegdirect for modification of timeshift and other settings."
|
||||||
|
msgstr ""
|
@ -0,0 +1,66 @@
|
|||||||
|
# Kodi Media Center language file
|
||||||
|
# Addon Name: PVR Octonet Client
|
||||||
|
# Addon id: pvr.octonet
|
||||||
|
# Addon Provider: Julian Scheel
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: KODI Main\n"
|
||||||
|
"Report-Msgid-Bugs-To: https://github.com/DigitalDevices/pvr.octonet/issues\n"
|
||||||
|
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: Automatically generated\n"
|
||||||
|
"Language-Team: none\n"
|
||||||
|
"Language: ta_in\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
|
|
||||||
|
msgctxt "Addon Summary"
|
||||||
|
msgid "Kodi PVR Addon for Digital Devices Octopus NET Streams"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30000"
|
||||||
|
msgid "Octonet Server Address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30001"
|
||||||
|
msgid "Could not load chanellist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30002"
|
||||||
|
msgid "Timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30003"
|
||||||
|
msgid "Enable timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30004"
|
||||||
|
msgid "- Modify inputstream.ffmpegdirect settings..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30005"
|
||||||
|
msgid "Inputstream settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#empty strings from id 30006 to 30599
|
||||||
|
msgctxt "#30600"
|
||||||
|
msgid "The IP/address of the octonet server. Note that in case of an address, the protocol (http://) has to be omitted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30601"
|
||||||
|
msgid "General settings required by the add-on."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30602"
|
||||||
|
msgid "Timeshift settings for pausing/rewinding and fast-forwarding live streams."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30603"
|
||||||
|
msgid "Enable the timeshift feature."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30604"
|
||||||
|
msgid "Open settings dialog for inputstream.ffmpegdirect for modification of timeshift and other settings."
|
||||||
|
msgstr ""
|
@ -0,0 +1,66 @@
|
|||||||
|
# Kodi Media Center language file
|
||||||
|
# Addon Name: PVR Octonet Client
|
||||||
|
# Addon id: pvr.octonet
|
||||||
|
# Addon Provider: Julian Scheel
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: KODI Main\n"
|
||||||
|
"Report-Msgid-Bugs-To: https://github.com/DigitalDevices/pvr.octonet/issues\n"
|
||||||
|
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: Automatically generated\n"
|
||||||
|
"Language-Team: none\n"
|
||||||
|
"Language: te_in\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
|
|
||||||
|
msgctxt "Addon Summary"
|
||||||
|
msgid "Kodi PVR Addon for Digital Devices Octopus NET Streams"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30000"
|
||||||
|
msgid "Octonet Server Address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30001"
|
||||||
|
msgid "Could not load chanellist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30002"
|
||||||
|
msgid "Timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30003"
|
||||||
|
msgid "Enable timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30004"
|
||||||
|
msgid "- Modify inputstream.ffmpegdirect settings..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30005"
|
||||||
|
msgid "Inputstream settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#empty strings from id 30006 to 30599
|
||||||
|
msgctxt "#30600"
|
||||||
|
msgid "The IP/address of the octonet server. Note that in case of an address, the protocol (http://) has to be omitted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30601"
|
||||||
|
msgid "General settings required by the add-on."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30602"
|
||||||
|
msgid "Timeshift settings for pausing/rewinding and fast-forwarding live streams."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30603"
|
||||||
|
msgid "Enable the timeshift feature."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30604"
|
||||||
|
msgid "Open settings dialog for inputstream.ffmpegdirect for modification of timeshift and other settings."
|
||||||
|
msgstr ""
|
@ -0,0 +1,66 @@
|
|||||||
|
# Kodi Media Center language file
|
||||||
|
# Addon Name: PVR Octonet Client
|
||||||
|
# Addon id: pvr.octonet
|
||||||
|
# Addon Provider: Julian Scheel
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: KODI Main\n"
|
||||||
|
"Report-Msgid-Bugs-To: https://github.com/DigitalDevices/pvr.octonet/issues\n"
|
||||||
|
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: Automatically generated\n"
|
||||||
|
"Language-Team: none\n"
|
||||||
|
"Language: tg_tj\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||||
|
|
||||||
|
msgctxt "Addon Summary"
|
||||||
|
msgid "Kodi PVR Addon for Digital Devices Octopus NET Streams"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30000"
|
||||||
|
msgid "Octonet Server Address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30001"
|
||||||
|
msgid "Could not load chanellist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30002"
|
||||||
|
msgid "Timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30003"
|
||||||
|
msgid "Enable timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30004"
|
||||||
|
msgid "- Modify inputstream.ffmpegdirect settings..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30005"
|
||||||
|
msgid "Inputstream settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#empty strings from id 30006 to 30599
|
||||||
|
msgctxt "#30600"
|
||||||
|
msgid "The IP/address of the octonet server. Note that in case of an address, the protocol (http://) has to be omitted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30601"
|
||||||
|
msgid "General settings required by the add-on."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30602"
|
||||||
|
msgid "Timeshift settings for pausing/rewinding and fast-forwarding live streams."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30603"
|
||||||
|
msgid "Enable the timeshift feature."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30604"
|
||||||
|
msgid "Open settings dialog for inputstream.ffmpegdirect for modification of timeshift and other settings."
|
||||||
|
msgstr ""
|
@ -0,0 +1,66 @@
|
|||||||
|
# Kodi Media Center language file
|
||||||
|
# Addon Name: PVR Octonet Client
|
||||||
|
# Addon id: pvr.octonet
|
||||||
|
# Addon Provider: Julian Scheel
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: KODI Main\n"
|
||||||
|
"Report-Msgid-Bugs-To: https://github.com/DigitalDevices/pvr.octonet/issues\n"
|
||||||
|
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: Automatically generated\n"
|
||||||
|
"Language-Team: none\n"
|
||||||
|
"Language: th_th\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||||
|
|
||||||
|
msgctxt "Addon Summary"
|
||||||
|
msgid "Kodi PVR Addon for Digital Devices Octopus NET Streams"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30000"
|
||||||
|
msgid "Octonet Server Address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30001"
|
||||||
|
msgid "Could not load chanellist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30002"
|
||||||
|
msgid "Timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30003"
|
||||||
|
msgid "Enable timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30004"
|
||||||
|
msgid "- Modify inputstream.ffmpegdirect settings..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30005"
|
||||||
|
msgid "Inputstream settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#empty strings from id 30006 to 30599
|
||||||
|
msgctxt "#30600"
|
||||||
|
msgid "The IP/address of the octonet server. Note that in case of an address, the protocol (http://) has to be omitted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30601"
|
||||||
|
msgid "General settings required by the add-on."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30602"
|
||||||
|
msgid "Timeshift settings for pausing/rewinding and fast-forwarding live streams."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30603"
|
||||||
|
msgid "Enable the timeshift feature."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30604"
|
||||||
|
msgid "Open settings dialog for inputstream.ffmpegdirect for modification of timeshift and other settings."
|
||||||
|
msgstr ""
|
@ -0,0 +1,66 @@
|
|||||||
|
# Kodi Media Center language file
|
||||||
|
# Addon Name: PVR Octonet Client
|
||||||
|
# Addon id: pvr.octonet
|
||||||
|
# Addon Provider: Julian Scheel
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: KODI Main\n"
|
||||||
|
"Report-Msgid-Bugs-To: https://github.com/DigitalDevices/pvr.octonet/issues\n"
|
||||||
|
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: Automatically generated\n"
|
||||||
|
"Language-Team: none\n"
|
||||||
|
"Language: tr_tr\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
|
|
||||||
|
msgctxt "Addon Summary"
|
||||||
|
msgid "Kodi PVR Addon for Digital Devices Octopus NET Streams"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30000"
|
||||||
|
msgid "Octonet Server Address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30001"
|
||||||
|
msgid "Could not load chanellist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30002"
|
||||||
|
msgid "Timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30003"
|
||||||
|
msgid "Enable timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30004"
|
||||||
|
msgid "- Modify inputstream.ffmpegdirect settings..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30005"
|
||||||
|
msgid "Inputstream settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#empty strings from id 30006 to 30599
|
||||||
|
msgctxt "#30600"
|
||||||
|
msgid "The IP/address of the octonet server. Note that in case of an address, the protocol (http://) has to be omitted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30601"
|
||||||
|
msgid "General settings required by the add-on."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30602"
|
||||||
|
msgid "Timeshift settings for pausing/rewinding and fast-forwarding live streams."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30603"
|
||||||
|
msgid "Enable the timeshift feature."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30604"
|
||||||
|
msgid "Open settings dialog for inputstream.ffmpegdirect for modification of timeshift and other settings."
|
||||||
|
msgstr ""
|
@ -0,0 +1,67 @@
|
|||||||
|
# Kodi Media Center language file
|
||||||
|
# Addon Name: PVR Octonet Client
|
||||||
|
# Addon id: pvr.octonet
|
||||||
|
# Addon Provider: Julian Scheel
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: KODI Main\n"
|
||||||
|
"Report-Msgid-Bugs-To: translations@kodi.tv\n"
|
||||||
|
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"PO-Revision-Date: 2024-04-13 11:37+0000\n"
|
||||||
|
"Last-Translator: Christian Gade <gade@kodi.tv>\n"
|
||||||
|
"Language-Team: Ukrainian <https://kodi.weblate.cloud/projects/kodi-add-ons-pvr-clients/pvr-octonet/uk_ua/>\n"
|
||||||
|
"Language: uk_ua\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
|
||||||
|
"X-Generator: Weblate 5.4.3\n"
|
||||||
|
|
||||||
|
msgctxt "Addon Summary"
|
||||||
|
msgid "Kodi PVR Addon for Digital Devices Octopus NET Streams"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30000"
|
||||||
|
msgid "Octonet Server Address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30001"
|
||||||
|
msgid "Could not load chanellist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30002"
|
||||||
|
msgid "Timeshift"
|
||||||
|
msgstr "Зрушення в часі"
|
||||||
|
|
||||||
|
msgctxt "#30003"
|
||||||
|
msgid "Enable timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30004"
|
||||||
|
msgid "- Modify inputstream.ffmpegdirect settings..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30005"
|
||||||
|
msgid "Inputstream settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#empty strings from id 30006 to 30599
|
||||||
|
msgctxt "#30600"
|
||||||
|
msgid "The IP/address of the octonet server. Note that in case of an address, the protocol (http://) has to be omitted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30601"
|
||||||
|
msgid "General settings required by the add-on."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30602"
|
||||||
|
msgid "Timeshift settings for pausing/rewinding and fast-forwarding live streams."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30603"
|
||||||
|
msgid "Enable the timeshift feature."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30604"
|
||||||
|
msgid "Open settings dialog for inputstream.ffmpegdirect for modification of timeshift and other settings."
|
||||||
|
msgstr ""
|
@ -0,0 +1,66 @@
|
|||||||
|
# Kodi Media Center language file
|
||||||
|
# Addon Name: PVR Octonet Client
|
||||||
|
# Addon id: pvr.octonet
|
||||||
|
# Addon Provider: Julian Scheel
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: KODI Main\n"
|
||||||
|
"Report-Msgid-Bugs-To: https://github.com/DigitalDevices/pvr.octonet/issues\n"
|
||||||
|
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: Automatically generated\n"
|
||||||
|
"Language-Team: none\n"
|
||||||
|
"Language: uz_uz\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
|
|
||||||
|
msgctxt "Addon Summary"
|
||||||
|
msgid "Kodi PVR Addon for Digital Devices Octopus NET Streams"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30000"
|
||||||
|
msgid "Octonet Server Address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30001"
|
||||||
|
msgid "Could not load chanellist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30002"
|
||||||
|
msgid "Timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30003"
|
||||||
|
msgid "Enable timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30004"
|
||||||
|
msgid "- Modify inputstream.ffmpegdirect settings..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30005"
|
||||||
|
msgid "Inputstream settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#empty strings from id 30006 to 30599
|
||||||
|
msgctxt "#30600"
|
||||||
|
msgid "The IP/address of the octonet server. Note that in case of an address, the protocol (http://) has to be omitted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30601"
|
||||||
|
msgid "General settings required by the add-on."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30602"
|
||||||
|
msgid "Timeshift settings for pausing/rewinding and fast-forwarding live streams."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30603"
|
||||||
|
msgid "Enable the timeshift feature."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30604"
|
||||||
|
msgid "Open settings dialog for inputstream.ffmpegdirect for modification of timeshift and other settings."
|
||||||
|
msgstr ""
|
@ -0,0 +1,66 @@
|
|||||||
|
# Kodi Media Center language file
|
||||||
|
# Addon Name: PVR Octonet Client
|
||||||
|
# Addon id: pvr.octonet
|
||||||
|
# Addon Provider: Julian Scheel
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: KODI Main\n"
|
||||||
|
"Report-Msgid-Bugs-To: https://github.com/DigitalDevices/pvr.octonet/issues\n"
|
||||||
|
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: Automatically generated\n"
|
||||||
|
"Language-Team: none\n"
|
||||||
|
"Language: vi_vn\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||||
|
|
||||||
|
msgctxt "Addon Summary"
|
||||||
|
msgid "Kodi PVR Addon for Digital Devices Octopus NET Streams"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30000"
|
||||||
|
msgid "Octonet Server Address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30001"
|
||||||
|
msgid "Could not load chanellist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30002"
|
||||||
|
msgid "Timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30003"
|
||||||
|
msgid "Enable timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30004"
|
||||||
|
msgid "- Modify inputstream.ffmpegdirect settings..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30005"
|
||||||
|
msgid "Inputstream settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#empty strings from id 30006 to 30599
|
||||||
|
msgctxt "#30600"
|
||||||
|
msgid "The IP/address of the octonet server. Note that in case of an address, the protocol (http://) has to be omitted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30601"
|
||||||
|
msgid "General settings required by the add-on."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30602"
|
||||||
|
msgid "Timeshift settings for pausing/rewinding and fast-forwarding live streams."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30603"
|
||||||
|
msgid "Enable the timeshift feature."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30604"
|
||||||
|
msgid "Open settings dialog for inputstream.ffmpegdirect for modification of timeshift and other settings."
|
||||||
|
msgstr ""
|
@ -0,0 +1,66 @@
|
|||||||
|
# Kodi Media Center language file
|
||||||
|
# Addon Name: PVR Octonet Client
|
||||||
|
# Addon id: pvr.octonet
|
||||||
|
# Addon Provider: Julian Scheel
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: KODI Main\n"
|
||||||
|
"Report-Msgid-Bugs-To: https://github.com/DigitalDevices/pvr.octonet/issues\n"
|
||||||
|
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: Automatically generated\n"
|
||||||
|
"Language-Team: none\n"
|
||||||
|
"Language: zh_cn\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
|
|
||||||
|
msgctxt "Addon Summary"
|
||||||
|
msgid "Kodi PVR Addon for Digital Devices Octopus NET Streams"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30000"
|
||||||
|
msgid "Octonet Server Address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30001"
|
||||||
|
msgid "Could not load chanellist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30002"
|
||||||
|
msgid "Timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30003"
|
||||||
|
msgid "Enable timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30004"
|
||||||
|
msgid "- Modify inputstream.ffmpegdirect settings..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30005"
|
||||||
|
msgid "Inputstream settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#empty strings from id 30006 to 30599
|
||||||
|
msgctxt "#30600"
|
||||||
|
msgid "The IP/address of the octonet server. Note that in case of an address, the protocol (http://) has to be omitted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30601"
|
||||||
|
msgid "General settings required by the add-on."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30602"
|
||||||
|
msgid "Timeshift settings for pausing/rewinding and fast-forwarding live streams."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30603"
|
||||||
|
msgid "Enable the timeshift feature."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30604"
|
||||||
|
msgid "Open settings dialog for inputstream.ffmpegdirect for modification of timeshift and other settings."
|
||||||
|
msgstr ""
|
@ -0,0 +1,66 @@
|
|||||||
|
# Kodi Media Center language file
|
||||||
|
# Addon Name: PVR Octonet Client
|
||||||
|
# Addon id: pvr.octonet
|
||||||
|
# Addon Provider: Julian Scheel
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: KODI Main\n"
|
||||||
|
"Report-Msgid-Bugs-To: https://github.com/DigitalDevices/pvr.octonet/issues\n"
|
||||||
|
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: Automatically generated\n"
|
||||||
|
"Language-Team: none\n"
|
||||||
|
"Language: zh_tw\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
|
|
||||||
|
msgctxt "Addon Summary"
|
||||||
|
msgid "Kodi PVR Addon for Digital Devices Octopus NET Streams"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30000"
|
||||||
|
msgid "Octonet Server Address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30001"
|
||||||
|
msgid "Could not load chanellist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30002"
|
||||||
|
msgid "Timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30003"
|
||||||
|
msgid "Enable timeshift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30004"
|
||||||
|
msgid "- Modify inputstream.ffmpegdirect settings..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30005"
|
||||||
|
msgid "Inputstream settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#empty strings from id 30006 to 30599
|
||||||
|
msgctxt "#30600"
|
||||||
|
msgid "The IP/address of the octonet server. Note that in case of an address, the protocol (http://) has to be omitted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30601"
|
||||||
|
msgid "General settings required by the add-on."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30602"
|
||||||
|
msgid "Timeshift settings for pausing/rewinding and fast-forwarding live streams."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30603"
|
||||||
|
msgid "Enable the timeshift feature."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#30604"
|
||||||
|
msgid "Open settings dialog for inputstream.ffmpegdirect for modification of timeshift and other settings."
|
||||||
|
msgstr ""
|
@ -1,10 +1,10 @@
|
|||||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||||
<settings version="1">
|
<settings version="1">
|
||||||
<section id="pvr.octonet">
|
<section id="pvr.octonet">
|
||||||
<category id="main" label="128" help="-1">
|
<category id="main" label="128" help="30601">
|
||||||
<group id="1" label="-1">
|
<group id="1" label="-1">
|
||||||
<!-- Octonet Server Address -->
|
<!-- Octonet Server Address -->
|
||||||
<setting id="octonetAddress" type="string" label="30000" help="-1">
|
<setting id="octonetAddress" type="string" label="30000" help="30600">
|
||||||
<level>0</level>
|
<level>0</level>
|
||||||
<default></default>
|
<default></default>
|
||||||
<constraints>
|
<constraints>
|
||||||
@ -14,5 +14,26 @@
|
|||||||
</setting>
|
</setting>
|
||||||
</group>
|
</group>
|
||||||
</category>
|
</category>
|
||||||
|
<category id="timeshift" label="30002" help="30602">
|
||||||
|
<group id="1" label="30002">
|
||||||
|
<setting id="timeshiftEnabled" type="boolean" label="30003" help="30603">
|
||||||
|
<level>0</level>
|
||||||
|
<default>false</default>
|
||||||
|
<control type="toggle" />
|
||||||
|
</setting>
|
||||||
|
</group>
|
||||||
|
<group id="2" label="30005">
|
||||||
|
<setting id="ffmpegdirectSettings" type="action" label="30004" help="30604">
|
||||||
|
<level>0</level>
|
||||||
|
<data>Addon.OpenSettings(inputstream.ffmpegdirect)</data>
|
||||||
|
<dependencies>
|
||||||
|
<dependency type="enable" setting="timeshiftEnabled" operator="is">true</dependency>
|
||||||
|
</dependencies>
|
||||||
|
<control type="button" format="action">
|
||||||
|
<close>true</close>
|
||||||
|
</control>
|
||||||
|
</setting>
|
||||||
|
</group>
|
||||||
|
</category>
|
||||||
</section>
|
</section>
|
||||||
</settings>
|
</settings>
|
||||||
|
@ -10,8 +10,6 @@
|
|||||||
|
|
||||||
#include "OctonetData.h"
|
#include "OctonetData.h"
|
||||||
|
|
||||||
#include "rtsp_client.hpp"
|
|
||||||
|
|
||||||
#include <json/json.h>
|
#include <json/json.h>
|
||||||
#include <kodi/Filesystem.h>
|
#include <kodi/Filesystem.h>
|
||||||
#include <kodi/General.h>
|
#include <kodi/General.h>
|
||||||
@ -23,35 +21,23 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
OctonetData::OctonetData(const std::string& octonetAddress,
|
OctonetData::OctonetData(const std::string& octonetAddress,
|
||||||
KODI_HANDLE instance,
|
bool enableTimeshift,
|
||||||
const std::string& kodiVersion)
|
const kodi::addon::IInstanceInfo& instance)
|
||||||
: kodi::addon::CInstancePVRClient(instance, kodiVersion)
|
: kodi::addon::CInstancePVRClient(instance)
|
||||||
{
|
{
|
||||||
m_serverAddress = octonetAddress;
|
m_serverAddress = octonetAddress;
|
||||||
|
m_enableTimeshift = enableTimeshift;
|
||||||
m_channels.clear();
|
m_channels.clear();
|
||||||
m_groups.clear();
|
m_groups.clear();
|
||||||
m_lastEpgLoad = 0;
|
m_lastEpgLoad = 0;
|
||||||
|
|
||||||
if (!LoadChannelList())
|
if (!LoadChannelList())
|
||||||
kodi::QueueFormattedNotification(QUEUE_ERROR, kodi::GetLocalizedString(30001).c_str(),
|
kodi::QueueFormattedNotification(QUEUE_ERROR, kodi::addon::GetLocalizedString(30001).c_str(),
|
||||||
m_channels.size());
|
m_channels.size());
|
||||||
|
|
||||||
/*
|
|
||||||
// Currently unused, as thread was already present before with
|
|
||||||
// p8platform, by remove of them was it added as C++11 thread way.
|
|
||||||
kodi::Log(ADDON_LOG_INFO, "%s Starting separate client update thread...", __func__);
|
|
||||||
m_running = true;
|
|
||||||
m_thread = std::thread([&] { Process(); });
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
OctonetData::~OctonetData(void)
|
OctonetData::~OctonetData(void)
|
||||||
{
|
{
|
||||||
/*
|
|
||||||
m_running = false;
|
|
||||||
if (m_thread.joinable())
|
|
||||||
m_thread.join();
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
PVR_ERROR OctonetData::GetCapabilities(kodi::addon::PVRCapabilities& capabilities)
|
PVR_ERROR OctonetData::GetCapabilities(kodi::addon::PVRCapabilities& capabilities)
|
||||||
@ -128,9 +114,11 @@ bool OctonetData::LoadChannelList()
|
|||||||
f.Close();
|
f.Close();
|
||||||
|
|
||||||
Json::Value root;
|
Json::Value root;
|
||||||
Json::Reader reader;
|
JSONCPP_STRING err;
|
||||||
|
Json::CharReaderBuilder builder;
|
||||||
|
const std::unique_ptr<Json::CharReader> reader(builder.newCharReader());
|
||||||
|
|
||||||
if (!reader.parse(jsonContent, root, false))
|
if (!reader->parse(jsonContent.c_str(), jsonContent.c_str() + jsonContent.length(), &root, &err))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
const Json::Value groupList = root["GroupList"];
|
const Json::Value groupList = root["GroupList"];
|
||||||
@ -216,9 +204,11 @@ bool OctonetData::LoadEPG(void)
|
|||||||
f.Close();
|
f.Close();
|
||||||
|
|
||||||
Json::Value root;
|
Json::Value root;
|
||||||
Json::Reader reader;
|
JSONCPP_STRING err;
|
||||||
|
Json::CharReaderBuilder builder;
|
||||||
|
const std::unique_ptr<Json::CharReader> reader(builder.newCharReader());
|
||||||
|
|
||||||
if (!reader.parse(jsonContent, root, false))
|
if (!reader->parse(jsonContent.c_str(), jsonContent.c_str() + jsonContent.length(), &root, &err))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
const Json::Value eventList = root["EventList"];
|
const Json::Value eventList = root["EventList"];
|
||||||
@ -255,11 +245,6 @@ bool OctonetData::LoadEPG(void)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void OctonetData::Process()
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
PVR_ERROR OctonetData::GetChannelsAmount(int& amount)
|
PVR_ERROR OctonetData::GetChannelsAmount(int& amount)
|
||||||
{
|
{
|
||||||
amount = m_channels.size();
|
amount = m_channels.size();
|
||||||
@ -288,6 +273,25 @@ PVR_ERROR OctonetData::GetChannels(bool radio, kodi::addon::PVRChannelsResultSet
|
|||||||
return PVR_ERROR_NO_ERROR;
|
return PVR_ERROR_NO_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
PVR_ERROR OctonetData::GetChannelStreamProperties(const kodi::addon::PVRChannel& channelinfo, PVR_SOURCE source, std::vector<kodi::addon::PVRStreamProperty>& properties)
|
||||||
|
{
|
||||||
|
properties.emplace_back(PVR_STREAM_PROPERTY_INPUTSTREAM, "inputstream.ffmpegdirect");
|
||||||
|
properties.emplace_back("inputstream.ffmpegdirect.is_realtime_stream", "true");
|
||||||
|
properties.emplace_back("inputstream.ffmpegdirect.open_mode", "ffmpeg");
|
||||||
|
if (m_enableTimeshift)
|
||||||
|
{
|
||||||
|
// This property is required to support timeshifting for Radio channels
|
||||||
|
properties.emplace_back("inputstream-player", "videodefaultplayer");
|
||||||
|
properties.emplace_back("inputstream.ffmpegdirect.stream_mode", "timeshift");
|
||||||
|
}
|
||||||
|
properties.emplace_back(PVR_STREAM_PROPERTY_MIMETYPE, "video/x-mpegts");
|
||||||
|
properties.emplace_back(PVR_STREAM_PROPERTY_STREAMURL, GetUrl(channelinfo.GetUniqueId()));
|
||||||
|
|
||||||
|
kodi::Log(ADDON_LOG_INFO, "Playing channel - name: %s, url: %s, and using inputstream.ffmpegdirect", GetName(channelinfo.GetUniqueId()).c_str(), GetUrl(channelinfo.GetUniqueId()).c_str());
|
||||||
|
|
||||||
|
return PVR_ERROR_NO_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
PVR_ERROR OctonetData::GetEPGForChannel(int channelUid,
|
PVR_ERROR OctonetData::GetEPGForChannel(int channelUid,
|
||||||
time_t start,
|
time_t start,
|
||||||
time_t end,
|
time_t end,
|
||||||
@ -436,23 +440,8 @@ OctonetGroup* OctonetData::FindGroup(const std::string& name)
|
|||||||
return &group;
|
return &group;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
kodi::Log(ADDON_LOG_ERROR, "Could not find group: %s, in available groups from the server");
|
||||||
|
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* PVR stream handling */
|
|
||||||
/* entirely unused, as we use standard RTSP+TS mux, which can be handlded by
|
|
||||||
* Kodi core */
|
|
||||||
bool OctonetData::OpenLiveStream(const kodi::addon::PVRChannel& channelinfo)
|
|
||||||
{
|
|
||||||
return rtsp_open(GetName(channelinfo.GetUniqueId()), GetUrl(channelinfo.GetUniqueId()));
|
|
||||||
}
|
|
||||||
|
|
||||||
int OctonetData::ReadLiveStream(unsigned char* pBuffer, unsigned int iBufferSize)
|
|
||||||
{
|
|
||||||
return rtsp_read(pBuffer, iBufferSize);
|
|
||||||
}
|
|
||||||
|
|
||||||
void OctonetData::CloseLiveStream()
|
|
||||||
{
|
|
||||||
rtsp_close();
|
|
||||||
}
|
|
||||||
|
@ -43,12 +43,12 @@ struct OctonetGroup
|
|||||||
std::vector<int> members;
|
std::vector<int> members;
|
||||||
};
|
};
|
||||||
|
|
||||||
class ATTRIBUTE_HIDDEN OctonetData : public kodi::addon::CInstancePVRClient
|
class ATTR_DLL_LOCAL OctonetData : public kodi::addon::CInstancePVRClient
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
OctonetData(const std::string& octonetAddress,
|
OctonetData(const std::string& octonetAddress,
|
||||||
KODI_HANDLE instance,
|
bool enableTimeshift,
|
||||||
const std::string& kodiVersion);
|
const kodi::addon::IInstanceInfo& instance);
|
||||||
~OctonetData() override;
|
~OctonetData() override;
|
||||||
|
|
||||||
PVR_ERROR GetCapabilities(kodi::addon::PVRCapabilities& capabilities) override;
|
PVR_ERROR GetCapabilities(kodi::addon::PVRCapabilities& capabilities) override;
|
||||||
@ -67,19 +67,16 @@ public:
|
|||||||
PVR_ERROR GetChannelGroups(bool radio, kodi::addon::PVRChannelGroupsResultSet& results) override;
|
PVR_ERROR GetChannelGroups(bool radio, kodi::addon::PVRChannelGroupsResultSet& results) override;
|
||||||
PVR_ERROR GetChannelGroupMembers(const kodi::addon::PVRChannelGroup& group,
|
PVR_ERROR GetChannelGroupMembers(const kodi::addon::PVRChannelGroup& group,
|
||||||
kodi::addon::PVRChannelGroupMembersResultSet& results) override;
|
kodi::addon::PVRChannelGroupMembersResultSet& results) override;
|
||||||
|
PVR_ERROR GetChannelStreamProperties(const kodi::addon::PVRChannel& channel,
|
||||||
|
PVR_SOURCE source,
|
||||||
|
std::vector<kodi::addon::PVRStreamProperty>& properties) override;
|
||||||
|
|
||||||
PVR_ERROR GetEPGForChannel(int channelUid,
|
PVR_ERROR GetEPGForChannel(int channelUid,
|
||||||
time_t start,
|
time_t start,
|
||||||
time_t end,
|
time_t end,
|
||||||
kodi::addon::PVREPGTagsResultSet& results) override;
|
kodi::addon::PVREPGTagsResultSet& results) override;
|
||||||
|
|
||||||
bool OpenLiveStream(const kodi::addon::PVRChannel& channelinfo) override;
|
|
||||||
int ReadLiveStream(unsigned char* buffer, unsigned int size) override;
|
|
||||||
void CloseLiveStream() override;
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void Process();
|
|
||||||
|
|
||||||
const std::string& GetUrl(int id) const;
|
const std::string& GetUrl(int id) const;
|
||||||
const std::string& GetName(int id) const;
|
const std::string& GetName(int id) const;
|
||||||
|
|
||||||
@ -92,11 +89,9 @@ protected:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
std::string m_serverAddress;
|
std::string m_serverAddress;
|
||||||
|
bool m_enableTimeshift = false;
|
||||||
std::vector<OctonetChannel> m_channels;
|
std::vector<OctonetChannel> m_channels;
|
||||||
std::vector<OctonetGroup> m_groups;
|
std::vector<OctonetGroup> m_groups;
|
||||||
|
|
||||||
time_t m_lastEpgLoad;
|
time_t m_lastEpgLoad;
|
||||||
|
|
||||||
std::atomic<bool> m_running = {false};
|
|
||||||
std::thread m_thread;
|
|
||||||
};
|
};
|
||||||
|
728
src/Socket.cpp
728
src/Socket.cpp
@ -1,728 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (C) 2005-2021 Team Kodi (https://kodi.tv)
|
|
||||||
*
|
|
||||||
* SPDX-License-Identifier: GPL-2.0-or-later
|
|
||||||
* See LICENSE.md for more information.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "Socket.h"
|
|
||||||
|
|
||||||
#include <cstdio>
|
|
||||||
#include <kodi/General.h>
|
|
||||||
#include <string>
|
|
||||||
|
|
||||||
using namespace std;
|
|
||||||
|
|
||||||
namespace OCTO
|
|
||||||
{
|
|
||||||
|
|
||||||
/* Master defines for client control */
|
|
||||||
#define RECEIVE_TIMEOUT 6 //sec
|
|
||||||
|
|
||||||
Socket::Socket(const enum SocketFamily family,
|
|
||||||
const enum SocketDomain domain,
|
|
||||||
const enum SocketType type,
|
|
||||||
const enum SocketProtocol protocol)
|
|
||||||
{
|
|
||||||
m_sd = INVALID_SOCKET;
|
|
||||||
m_family = family;
|
|
||||||
m_domain = domain;
|
|
||||||
m_type = type;
|
|
||||||
m_protocol = protocol;
|
|
||||||
m_port = 0;
|
|
||||||
memset(&m_sockaddr, 0, sizeof(m_sockaddr));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
Socket::Socket()
|
|
||||||
{
|
|
||||||
// Default constructor, default settings
|
|
||||||
m_sd = INVALID_SOCKET;
|
|
||||||
m_family = af_inet;
|
|
||||||
m_domain = pf_inet;
|
|
||||||
m_type = sock_stream;
|
|
||||||
m_protocol = tcp;
|
|
||||||
m_port = 0;
|
|
||||||
memset(&m_sockaddr, 0, sizeof(m_sockaddr));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
Socket::~Socket()
|
|
||||||
{
|
|
||||||
close();
|
|
||||||
osCleanup();
|
|
||||||
}
|
|
||||||
|
|
||||||
bool Socket::setHostname(const std::string& host)
|
|
||||||
{
|
|
||||||
m_hostname = host;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool Socket::close()
|
|
||||||
{
|
|
||||||
if (is_valid())
|
|
||||||
{
|
|
||||||
if (m_sd != SOCKET_ERROR)
|
|
||||||
closesocket(m_sd);
|
|
||||||
m_sd = INVALID_SOCKET;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool Socket::create()
|
|
||||||
{
|
|
||||||
close();
|
|
||||||
|
|
||||||
if (!osInit())
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
bool Socket::bind(const unsigned short port)
|
|
||||||
{
|
|
||||||
|
|
||||||
if (is_valid())
|
|
||||||
{
|
|
||||||
close();
|
|
||||||
}
|
|
||||||
|
|
||||||
m_sd = socket(m_family, m_type, m_protocol);
|
|
||||||
m_port = port;
|
|
||||||
m_sockaddr.sin_family = (sa_family_t)m_family;
|
|
||||||
m_sockaddr.sin_addr.s_addr = INADDR_ANY; //listen to all
|
|
||||||
m_sockaddr.sin_port = htons(m_port);
|
|
||||||
|
|
||||||
int bind_return = ::bind(m_sd, (sockaddr*)(&m_sockaddr), sizeof(m_sockaddr));
|
|
||||||
|
|
||||||
if (bind_return == -1)
|
|
||||||
{
|
|
||||||
errormessage(getLastError(), "Socket::bind");
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
bool Socket::listen() const
|
|
||||||
{
|
|
||||||
|
|
||||||
if (!is_valid())
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
int listen_return = ::listen(m_sd, SOMAXCONN);
|
|
||||||
//This is defined as 5 in winsock.h, and 0x7FFFFFFF in winsock2.h.
|
|
||||||
//linux 128//MAXCONNECTIONS =1
|
|
||||||
|
|
||||||
if (listen_return == -1)
|
|
||||||
{
|
|
||||||
errormessage(getLastError(), "Socket::listen");
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
bool Socket::accept(Socket& new_socket) const
|
|
||||||
{
|
|
||||||
if (!is_valid())
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
socklen_t addr_length = sizeof(m_sockaddr);
|
|
||||||
new_socket.m_sd =
|
|
||||||
::accept(m_sd, const_cast<sockaddr*>((const sockaddr*)&m_sockaddr), &addr_length);
|
|
||||||
|
|
||||||
#ifdef TARGET_WINDOWS
|
|
||||||
if (new_socket.m_sd == INVALID_SOCKET)
|
|
||||||
#else
|
|
||||||
if (new_socket.m_sd <= 0)
|
|
||||||
#endif
|
|
||||||
{
|
|
||||||
errormessage(getLastError(), "Socket::accept");
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
int Socket::send(const std::string& data)
|
|
||||||
{
|
|
||||||
return Socket::send((const char*)data.c_str(), (const unsigned int)data.size());
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
int Socket::send(const char* data, const unsigned int len)
|
|
||||||
{
|
|
||||||
fd_set set_w, set_e;
|
|
||||||
struct timeval tv;
|
|
||||||
int result;
|
|
||||||
|
|
||||||
if (!is_valid())
|
|
||||||
{
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
// fill with new data
|
|
||||||
tv.tv_sec = 0;
|
|
||||||
tv.tv_usec = 0;
|
|
||||||
|
|
||||||
FD_ZERO(&set_w);
|
|
||||||
FD_ZERO(&set_e);
|
|
||||||
FD_SET(m_sd, &set_w);
|
|
||||||
FD_SET(m_sd, &set_e);
|
|
||||||
|
|
||||||
result = select(FD_SETSIZE, &set_w, nullptr, &set_e, &tv);
|
|
||||||
|
|
||||||
if (result < 0)
|
|
||||||
{
|
|
||||||
kodi::Log(ADDON_LOG_ERROR, "Socket::send - select failed");
|
|
||||||
close();
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
if (FD_ISSET(m_sd, &set_w))
|
|
||||||
{
|
|
||||||
kodi::Log(ADDON_LOG_ERROR, "Socket::send - failed to send data");
|
|
||||||
close();
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
int status = ::send(m_sd, data, len, 0);
|
|
||||||
|
|
||||||
if (status == -1)
|
|
||||||
{
|
|
||||||
errormessage(getLastError(), "Socket::send");
|
|
||||||
kodi::Log(ADDON_LOG_ERROR, "Socket::send - failed to send data");
|
|
||||||
close();
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
return status;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
int Socket::sendto(const char* data, unsigned int size, bool sendcompletebuffer)
|
|
||||||
{
|
|
||||||
int sentbytes = 0;
|
|
||||||
int i;
|
|
||||||
|
|
||||||
do
|
|
||||||
{
|
|
||||||
i = ::sendto(m_sd, data, size, 0, (const struct sockaddr*)&m_sockaddr, sizeof(m_sockaddr));
|
|
||||||
|
|
||||||
if (i <= 0)
|
|
||||||
{
|
|
||||||
errormessage(getLastError(), "Socket::sendto");
|
|
||||||
osCleanup();
|
|
||||||
return i;
|
|
||||||
}
|
|
||||||
sentbytes += i;
|
|
||||||
} while ((sentbytes < (int)size) && (sendcompletebuffer == true));
|
|
||||||
|
|
||||||
return i;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
int Socket::receive(std::string& data, unsigned int minpacketsize) const
|
|
||||||
{
|
|
||||||
char* buf = nullptr;
|
|
||||||
int status = 0;
|
|
||||||
|
|
||||||
if (!is_valid())
|
|
||||||
{
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
buf = new char[minpacketsize + 1];
|
|
||||||
memset(buf, 0, minpacketsize + 1);
|
|
||||||
|
|
||||||
status = receive(buf, minpacketsize, minpacketsize);
|
|
||||||
|
|
||||||
data = buf;
|
|
||||||
|
|
||||||
delete[] buf;
|
|
||||||
return status;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//Receive until error or \n
|
|
||||||
bool Socket::ReadLine(string& line)
|
|
||||||
{
|
|
||||||
fd_set set_r, set_e;
|
|
||||||
timeval timeout;
|
|
||||||
int retries = 6;
|
|
||||||
char buffer[2048];
|
|
||||||
|
|
||||||
if (!is_valid())
|
|
||||||
return false;
|
|
||||||
|
|
||||||
while (true)
|
|
||||||
{
|
|
||||||
size_t pos1 = line.find("\r\n", 0);
|
|
||||||
if (pos1 != std::string::npos)
|
|
||||||
{
|
|
||||||
line.erase(pos1, string::npos);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
timeout.tv_sec = RECEIVE_TIMEOUT;
|
|
||||||
timeout.tv_usec = 0;
|
|
||||||
|
|
||||||
// fill with new data
|
|
||||||
FD_ZERO(&set_r);
|
|
||||||
FD_ZERO(&set_e);
|
|
||||||
FD_SET(m_sd, &set_r);
|
|
||||||
FD_SET(m_sd, &set_e);
|
|
||||||
int result = select(FD_SETSIZE, &set_r, nullptr, &set_e, &timeout);
|
|
||||||
|
|
||||||
if (result < 0)
|
|
||||||
{
|
|
||||||
kodi::Log(ADDON_LOG_DEBUG, "%s: select failed", __func__);
|
|
||||||
errormessage(getLastError(), __func__);
|
|
||||||
close();
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (result == 0)
|
|
||||||
{
|
|
||||||
if (retries != 0)
|
|
||||||
{
|
|
||||||
kodi::Log(ADDON_LOG_DEBUG, "%s: timeout waiting for response, retrying... (%i)", __func__,
|
|
||||||
retries);
|
|
||||||
retries--;
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
kodi::Log(ADDON_LOG_DEBUG, "%s: timeout waiting for response. Aborting after 10 retries.",
|
|
||||||
__func__);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
result = recv(m_sd, buffer, sizeof(buffer) - 1, 0);
|
|
||||||
if (result < 0)
|
|
||||||
{
|
|
||||||
kodi::Log(ADDON_LOG_DEBUG, "%s: recv failed", __func__);
|
|
||||||
errormessage(getLastError(), __func__);
|
|
||||||
close();
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
buffer[result] = 0;
|
|
||||||
|
|
||||||
line.append(buffer);
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
int Socket::receive(std::string& data) const
|
|
||||||
{
|
|
||||||
char buf[MAXRECV + 1];
|
|
||||||
int status = 0;
|
|
||||||
|
|
||||||
if (!is_valid())
|
|
||||||
{
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
memset(buf, 0, MAXRECV + 1);
|
|
||||||
status = receive(buf, MAXRECV, 0);
|
|
||||||
data = buf;
|
|
||||||
|
|
||||||
return status;
|
|
||||||
}
|
|
||||||
|
|
||||||
int Socket::receive(char* data,
|
|
||||||
const unsigned int buffersize,
|
|
||||||
const unsigned int minpacketsize) const
|
|
||||||
{
|
|
||||||
unsigned int receivedsize = 0;
|
|
||||||
|
|
||||||
if (!is_valid())
|
|
||||||
{
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
while ((receivedsize <= minpacketsize) && (receivedsize < buffersize))
|
|
||||||
{
|
|
||||||
int status = ::recv(m_sd, data + receivedsize, (buffersize - receivedsize), 0);
|
|
||||||
|
|
||||||
if (status == SOCKET_ERROR)
|
|
||||||
{
|
|
||||||
errormessage(getLastError(), "Socket::receive");
|
|
||||||
return status;
|
|
||||||
}
|
|
||||||
|
|
||||||
receivedsize += status;
|
|
||||||
}
|
|
||||||
|
|
||||||
return receivedsize;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
int Socket::recvfrom(char* data,
|
|
||||||
const int buffersize,
|
|
||||||
struct sockaddr* from,
|
|
||||||
socklen_t* fromlen) const
|
|
||||||
{
|
|
||||||
int status = ::recvfrom(m_sd, data, buffersize, 0, from, fromlen);
|
|
||||||
|
|
||||||
return status;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
bool Socket::connect(const std::string& host, const unsigned short port)
|
|
||||||
{
|
|
||||||
close();
|
|
||||||
|
|
||||||
if (!setHostname(host))
|
|
||||||
{
|
|
||||||
kodi::Log(ADDON_LOG_ERROR, "Socket::setHostname(%s) failed.\n", host.c_str());
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
m_port = port;
|
|
||||||
|
|
||||||
char strPort[15];
|
|
||||||
snprintf(strPort, 15, "%hu", port);
|
|
||||||
|
|
||||||
struct addrinfo hints;
|
|
||||||
struct addrinfo* result = nullptr;
|
|
||||||
struct addrinfo* address = nullptr;
|
|
||||||
memset(&hints, 0, sizeof(hints));
|
|
||||||
hints.ai_family = m_family;
|
|
||||||
hints.ai_socktype = m_type;
|
|
||||||
hints.ai_protocol = m_protocol;
|
|
||||||
|
|
||||||
int retval = getaddrinfo(host.c_str(), strPort, &hints, &result);
|
|
||||||
if (retval != 0)
|
|
||||||
{
|
|
||||||
errormessage(getLastError(), "Socket::connect");
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
for (address = result; address != nullptr; address = address->ai_next)
|
|
||||||
{
|
|
||||||
// Create the socket
|
|
||||||
m_sd = socket(address->ai_family, address->ai_socktype, address->ai_protocol);
|
|
||||||
|
|
||||||
if (m_sd == INVALID_SOCKET)
|
|
||||||
{
|
|
||||||
errormessage(getLastError(), "Socket::create");
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
int status = ::connect(m_sd, address->ai_addr, address->ai_addrlen);
|
|
||||||
if (status == SOCKET_ERROR)
|
|
||||||
{
|
|
||||||
close();
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
// We have a conection
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
freeaddrinfo(result);
|
|
||||||
|
|
||||||
if (address == nullptr)
|
|
||||||
{
|
|
||||||
kodi::Log(ADDON_LOG_ERROR, "Socket::connect %s:%u\n", host.c_str(), port);
|
|
||||||
errormessage(getLastError(), "Socket::connect");
|
|
||||||
close();
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool Socket::reconnect()
|
|
||||||
{
|
|
||||||
if (is_valid())
|
|
||||||
{
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
return connect(m_hostname, m_port);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool Socket::is_valid() const
|
|
||||||
{
|
|
||||||
return (m_sd != INVALID_SOCKET);
|
|
||||||
}
|
|
||||||
|
|
||||||
#if defined(TARGET_WINDOWS)
|
|
||||||
bool Socket::set_non_blocking(const bool b)
|
|
||||||
{
|
|
||||||
u_long iMode;
|
|
||||||
|
|
||||||
if (b)
|
|
||||||
iMode = 1; // enable non_blocking
|
|
||||||
else
|
|
||||||
iMode = 0; // disable non_blocking
|
|
||||||
|
|
||||||
if (ioctlsocket(m_sd, FIONBIO, &iMode) == -1)
|
|
||||||
{
|
|
||||||
kodi::Log(ADDON_LOG_ERROR, "Socket::set_non_blocking - Can't set socket condition to: %i",
|
|
||||||
iMode);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
void Socket::errormessage(int errnum, const char* functionname) const
|
|
||||||
{
|
|
||||||
const char* errmsg = nullptr;
|
|
||||||
|
|
||||||
switch (errnum)
|
|
||||||
{
|
|
||||||
case WSANOTINITIALISED:
|
|
||||||
errmsg = "A successful WSAStartup call must occur before using this function.";
|
|
||||||
break;
|
|
||||||
case WSAENETDOWN:
|
|
||||||
errmsg = "The network subsystem or the associated service provider has failed";
|
|
||||||
break;
|
|
||||||
case WSA_NOT_ENOUGH_MEMORY:
|
|
||||||
errmsg = "Insufficient memory available";
|
|
||||||
break;
|
|
||||||
case WSA_INVALID_PARAMETER:
|
|
||||||
errmsg = "One or more parameters are invalid";
|
|
||||||
break;
|
|
||||||
case WSA_OPERATION_ABORTED:
|
|
||||||
errmsg = "Overlapped operation aborted";
|
|
||||||
break;
|
|
||||||
case WSAEINTR:
|
|
||||||
errmsg = "Interrupted function call";
|
|
||||||
break;
|
|
||||||
case WSAEBADF:
|
|
||||||
errmsg = "File handle is not valid";
|
|
||||||
break;
|
|
||||||
case WSAEACCES:
|
|
||||||
errmsg = "Permission denied";
|
|
||||||
break;
|
|
||||||
case WSAEFAULT:
|
|
||||||
errmsg = "Bad address";
|
|
||||||
break;
|
|
||||||
case WSAEINVAL:
|
|
||||||
errmsg = "Invalid argument";
|
|
||||||
break;
|
|
||||||
case WSAENOTSOCK:
|
|
||||||
errmsg = "Socket operation on nonsocket";
|
|
||||||
break;
|
|
||||||
case WSAEDESTADDRREQ:
|
|
||||||
errmsg = "Destination address required";
|
|
||||||
break;
|
|
||||||
case WSAEMSGSIZE:
|
|
||||||
errmsg = "Message too long";
|
|
||||||
break;
|
|
||||||
case WSAEPROTOTYPE:
|
|
||||||
errmsg = "Protocol wrong type for socket";
|
|
||||||
break;
|
|
||||||
case WSAENOPROTOOPT:
|
|
||||||
errmsg = "Bad protocol option";
|
|
||||||
break;
|
|
||||||
case WSAEPFNOSUPPORT:
|
|
||||||
errmsg = "Protocol family not supported";
|
|
||||||
break;
|
|
||||||
case WSAEAFNOSUPPORT:
|
|
||||||
errmsg = "Address family not supported by protocol family";
|
|
||||||
break;
|
|
||||||
case WSAEADDRINUSE:
|
|
||||||
errmsg = "Address already in use";
|
|
||||||
break;
|
|
||||||
case WSAECONNRESET:
|
|
||||||
errmsg = "Connection reset by peer";
|
|
||||||
break;
|
|
||||||
case WSAHOST_NOT_FOUND:
|
|
||||||
errmsg = "Authoritative answer host not found";
|
|
||||||
break;
|
|
||||||
case WSATRY_AGAIN:
|
|
||||||
errmsg = "Nonauthoritative host not found, or server failure";
|
|
||||||
break;
|
|
||||||
case WSAEISCONN:
|
|
||||||
errmsg = "Socket is already connected";
|
|
||||||
break;
|
|
||||||
case WSAETIMEDOUT:
|
|
||||||
errmsg = "Connection timed out";
|
|
||||||
break;
|
|
||||||
case WSAECONNREFUSED:
|
|
||||||
errmsg = "Connection refused";
|
|
||||||
break;
|
|
||||||
case WSANO_DATA:
|
|
||||||
errmsg = "Valid name, no data record of requested type";
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
errmsg = "WSA Error";
|
|
||||||
}
|
|
||||||
kodi::Log(ADDON_LOG_ERROR, "%s: (Winsock error=%i) %s\n", functionname, errnum, errmsg);
|
|
||||||
}
|
|
||||||
|
|
||||||
int Socket::getLastError() const
|
|
||||||
{
|
|
||||||
return WSAGetLastError();
|
|
||||||
}
|
|
||||||
|
|
||||||
int Socket::win_usage_count = 0; //Declared static in Socket class
|
|
||||||
|
|
||||||
bool Socket::osInit()
|
|
||||||
{
|
|
||||||
win_usage_count++;
|
|
||||||
// initialize winsock:
|
|
||||||
if (WSAStartup(MAKEWORD(2, 2), &m_wsaData) != 0)
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
WORD wVersionRequested = MAKEWORD(2, 2);
|
|
||||||
|
|
||||||
// check version
|
|
||||||
if (m_wsaData.wVersion != wVersionRequested)
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
void Socket::osCleanup()
|
|
||||||
{
|
|
||||||
win_usage_count--;
|
|
||||||
if (win_usage_count == 0)
|
|
||||||
{
|
|
||||||
WSACleanup();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#elif defined TARGET_LINUX || defined TARGET_DARWIN || defined TARGET_FREEBSD
|
|
||||||
bool Socket::set_non_blocking(const bool b)
|
|
||||||
{
|
|
||||||
int opts;
|
|
||||||
|
|
||||||
opts = fcntl(m_sd, F_GETFL);
|
|
||||||
|
|
||||||
if (opts < 0)
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (b)
|
|
||||||
opts = (opts | O_NONBLOCK);
|
|
||||||
else
|
|
||||||
opts = (opts & ~O_NONBLOCK);
|
|
||||||
|
|
||||||
if (fcntl(m_sd, F_SETFL, opts) == -1)
|
|
||||||
{
|
|
||||||
kodi::Log(ADDON_LOG_ERROR, "Socket::set_non_blocking - Can't set socket flags to: %i", opts);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
void Socket::errormessage(int errnum, const char* functionname) const
|
|
||||||
{
|
|
||||||
const char* errmsg = nullptr;
|
|
||||||
|
|
||||||
switch (errnum)
|
|
||||||
{
|
|
||||||
case EAGAIN: //same as EWOULDBLOCK
|
|
||||||
errmsg = "EAGAIN: The socket is marked non-blocking and the requested operation would block";
|
|
||||||
break;
|
|
||||||
case EBADF:
|
|
||||||
errmsg = "EBADF: An invalid descriptor was specified";
|
|
||||||
break;
|
|
||||||
case ECONNRESET:
|
|
||||||
errmsg = "ECONNRESET: Connection reset by peer";
|
|
||||||
break;
|
|
||||||
case EDESTADDRREQ:
|
|
||||||
errmsg = "EDESTADDRREQ: The socket is not in connection mode and no peer address is set";
|
|
||||||
break;
|
|
||||||
case EFAULT:
|
|
||||||
errmsg = "EFAULT: An invalid userspace address was specified for a parameter";
|
|
||||||
break;
|
|
||||||
case EINTR:
|
|
||||||
errmsg = "EINTR: A signal occurred before data was transmitted";
|
|
||||||
break;
|
|
||||||
case EINVAL:
|
|
||||||
errmsg = "EINVAL: Invalid argument passed";
|
|
||||||
break;
|
|
||||||
case ENOTSOCK:
|
|
||||||
errmsg = "ENOTSOCK: The argument is not a valid socket";
|
|
||||||
break;
|
|
||||||
case EMSGSIZE:
|
|
||||||
errmsg = "EMSGSIZE: The socket requires that message be sent atomically, and the size of the "
|
|
||||||
"message to be sent made this impossible";
|
|
||||||
break;
|
|
||||||
case ENOBUFS:
|
|
||||||
errmsg = "ENOBUFS: The output queue for a network interface was full";
|
|
||||||
break;
|
|
||||||
case ENOMEM:
|
|
||||||
errmsg = "ENOMEM: No memory available";
|
|
||||||
break;
|
|
||||||
case EPIPE:
|
|
||||||
errmsg = "EPIPE: The local end has been shut down on a connection oriented socket";
|
|
||||||
break;
|
|
||||||
case EPROTONOSUPPORT:
|
|
||||||
errmsg = "EPROTONOSUPPORT: The protocol type or the specified protocol is not supported "
|
|
||||||
"within this domain";
|
|
||||||
break;
|
|
||||||
case EAFNOSUPPORT:
|
|
||||||
errmsg = "EAFNOSUPPORT: The implementation does not support the specified address family";
|
|
||||||
break;
|
|
||||||
case ENFILE:
|
|
||||||
errmsg = "ENFILE: Not enough kernel memory to allocate a new socket structure";
|
|
||||||
break;
|
|
||||||
case EMFILE:
|
|
||||||
errmsg = "EMFILE: Process file table overflow";
|
|
||||||
break;
|
|
||||||
case EACCES:
|
|
||||||
errmsg =
|
|
||||||
"EACCES: Permission to create a socket of the specified type and/or protocol is denied";
|
|
||||||
break;
|
|
||||||
case ECONNREFUSED:
|
|
||||||
errmsg = "ECONNREFUSED: A remote host refused to allow the network connection (typically "
|
|
||||||
"because it is not running the requested service)";
|
|
||||||
break;
|
|
||||||
case ENOTCONN:
|
|
||||||
errmsg = "ENOTCONN: The socket is associated with a connection-oriented protocol and has not "
|
|
||||||
"been connected";
|
|
||||||
break;
|
|
||||||
//case E:
|
|
||||||
// errmsg = "";
|
|
||||||
// break;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
kodi::Log(ADDON_LOG_ERROR, "%s: (errno=%i) %s\n", functionname, errnum, errmsg);
|
|
||||||
}
|
|
||||||
|
|
||||||
int Socket::getLastError() const
|
|
||||||
{
|
|
||||||
return errno;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool Socket::osInit()
|
|
||||||
{
|
|
||||||
// Not needed for Linux
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
void Socket::osCleanup()
|
|
||||||
{
|
|
||||||
// Not needed for Linux
|
|
||||||
}
|
|
||||||
#endif //TARGET_WINDOWS || TARGET_LINUX || TARGET_DARWIN || TARGET_FREEBSD
|
|
||||||
|
|
||||||
} //namespace OCTO
|
|
284
src/Socket.h
284
src/Socket.h
@ -1,284 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (C) 2005-2021 Team Kodi (https://kodi.tv)
|
|
||||||
*
|
|
||||||
* SPDX-License-Identifier: GPL-2.0-or-later
|
|
||||||
* See LICENSE.md for more information.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#pragma once
|
|
||||||
|
|
||||||
//Include platform specific datatypes, header files, defines and constants:
|
|
||||||
#if defined TARGET_WINDOWS
|
|
||||||
#define WIN32_LEAN_AND_MEAN // Enable LEAN_AND_MEAN support
|
|
||||||
#pragma warning(disable : 4005) // Disable "warning C4005: '_WINSOCKAPI_' : macro redefinition"
|
|
||||||
#include <WS2tcpip.h>
|
|
||||||
#include <winsock2.h>
|
|
||||||
#pragma warning(default : 4005)
|
|
||||||
#include <windows.h>
|
|
||||||
|
|
||||||
#ifndef NI_MAXHOST
|
|
||||||
#define NI_MAXHOST 1025
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef socklen_t
|
|
||||||
typedef int socklen_t;
|
|
||||||
#endif
|
|
||||||
#ifndef ipaddr_t
|
|
||||||
typedef unsigned long ipaddr_t;
|
|
||||||
#endif
|
|
||||||
#ifndef port_t
|
|
||||||
typedef unsigned short port_t;
|
|
||||||
#endif
|
|
||||||
#ifndef sa_family_t
|
|
||||||
#define sa_family_t ADDRESS_FAMILY
|
|
||||||
#endif
|
|
||||||
#elif defined TARGET_LINUX || defined TARGET_DARWIN || defined TARGET_FREEBSD
|
|
||||||
#ifdef SOCKADDR_IN
|
|
||||||
#undef SOCKADDR_IN
|
|
||||||
#endif
|
|
||||||
#include <arpa/inet.h> /* for inet_pton */
|
|
||||||
#include <errno.h>
|
|
||||||
#include <fcntl.h>
|
|
||||||
#include <netdb.h> /* for gethostbyname */
|
|
||||||
#include <netinet/in.h> /* for htons */
|
|
||||||
#include <sys/socket.h> /* for socket,connect */
|
|
||||||
#include <sys/types.h> /* for socket,connect */
|
|
||||||
#include <sys/un.h> /* for Unix socket */
|
|
||||||
#include <unistd.h> /* for read, write, close */
|
|
||||||
|
|
||||||
typedef int SOCKET;
|
|
||||||
typedef sockaddr SOCKADDR;
|
|
||||||
typedef sockaddr_in SOCKADDR_IN;
|
|
||||||
#ifndef INVALID_SOCKET
|
|
||||||
#define INVALID_SOCKET (-1)
|
|
||||||
#endif
|
|
||||||
#define SOCKET_ERROR (-1)
|
|
||||||
|
|
||||||
#define closesocket(sd) ::close(sd)
|
|
||||||
#else
|
|
||||||
#error Platform specific socket support is not yet available on this platform!
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <string>
|
|
||||||
#include <vector>
|
|
||||||
|
|
||||||
namespace OCTO
|
|
||||||
{
|
|
||||||
|
|
||||||
#define MAXCONNECTIONS 1 ///< Maximum number of pending connections before "Connection refused"
|
|
||||||
#define MAXRECV 1500 ///< Maximum packet size
|
|
||||||
|
|
||||||
enum SocketFamily
|
|
||||||
{
|
|
||||||
af_unspec = AF_UNSPEC,
|
|
||||||
af_inet = AF_INET,
|
|
||||||
af_inet6 = AF_INET6
|
|
||||||
};
|
|
||||||
|
|
||||||
enum SocketDomain
|
|
||||||
{
|
|
||||||
#if defined TARGET_LINUX || defined TARGET_DARWIN || defined TARGET_FREEBSD
|
|
||||||
pf_unix = PF_UNIX,
|
|
||||||
pf_local = PF_LOCAL,
|
|
||||||
#endif
|
|
||||||
pf_inet = PF_INET
|
|
||||||
};
|
|
||||||
|
|
||||||
enum SocketType
|
|
||||||
{
|
|
||||||
sock_stream = SOCK_STREAM,
|
|
||||||
sock_dgram = SOCK_DGRAM
|
|
||||||
};
|
|
||||||
|
|
||||||
enum SocketProtocol
|
|
||||||
{
|
|
||||||
tcp = IPPROTO_TCP,
|
|
||||||
udp = IPPROTO_UDP
|
|
||||||
};
|
|
||||||
|
|
||||||
class Socket
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
/*!
|
|
||||||
* An unconnected socket may be created directly on the local
|
|
||||||
* machine. The socket type (SOCK_STREAM, SOCK_DGRAM) and
|
|
||||||
* protocol may also be specified.
|
|
||||||
* If the socket cannot be created, an exception is thrown.
|
|
||||||
*
|
|
||||||
* \param family Socket family (IPv4 or IPv6)
|
|
||||||
* \param domain The domain parameter specifies a communications domain within which communication will take place;
|
|
||||||
* this selects the protocol family which should be used.
|
|
||||||
* \param type base type and protocol family of the socket.
|
|
||||||
* \param protocol specific protocol to apply.
|
|
||||||
*/
|
|
||||||
Socket(const enum SocketFamily family,
|
|
||||||
const enum SocketDomain domain,
|
|
||||||
const enum SocketType type,
|
|
||||||
const enum SocketProtocol protocol = tcp);
|
|
||||||
Socket(void);
|
|
||||||
virtual ~Socket();
|
|
||||||
|
|
||||||
//Socket settings
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* Socket setFamily
|
|
||||||
* \param family Can be af_inet or af_inet6. Default: af_inet
|
|
||||||
*/
|
|
||||||
void setFamily(const enum SocketFamily family) { m_family = family; };
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* Socket setDomain
|
|
||||||
* \param domain Can be pf_unix, pf_local, pf_inet or pf_inet6. Default: pf_inet
|
|
||||||
*/
|
|
||||||
void setDomain(const enum SocketDomain domain) { m_domain = domain; };
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* Socket setType
|
|
||||||
* \param type Can be sock_stream or sock_dgram. Default: sock_stream.
|
|
||||||
*/
|
|
||||||
void setType(const enum SocketType type) { m_type = type; };
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* Socket setProtocol
|
|
||||||
* \param protocol Can be tcp or udp. Default: tcp.
|
|
||||||
*/
|
|
||||||
void setProtocol(const enum SocketProtocol protocol) { m_protocol = protocol; };
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* Socket setPort
|
|
||||||
* \param port port number for socket communication
|
|
||||||
*/
|
|
||||||
void setPort(const unsigned short port) { m_sockaddr.sin_port = htons(port); };
|
|
||||||
|
|
||||||
bool setHostname(const std::string& host);
|
|
||||||
|
|
||||||
// Server initialization
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* Socket create
|
|
||||||
* Create a new socket
|
|
||||||
* \return True if succesful
|
|
||||||
*/
|
|
||||||
bool create();
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* Socket close
|
|
||||||
* Close the socket
|
|
||||||
* \return True if succesful
|
|
||||||
*/
|
|
||||||
bool close();
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* Socket bind
|
|
||||||
*/
|
|
||||||
bool bind(const unsigned short port);
|
|
||||||
bool listen() const;
|
|
||||||
bool accept(Socket& socket) const;
|
|
||||||
|
|
||||||
// Client initialization
|
|
||||||
bool connect(const std::string& host, const unsigned short port);
|
|
||||||
|
|
||||||
bool reconnect();
|
|
||||||
|
|
||||||
// Data Transmission
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* Socket send function
|
|
||||||
*
|
|
||||||
* \param data Reference to a std::string with the data to transmit
|
|
||||||
* \return Number of bytes send or -1 in case of an error
|
|
||||||
*/
|
|
||||||
int send(const std::string& data);
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* Socket send function
|
|
||||||
*
|
|
||||||
* \param data Pointer to a character array of size 'size' with the data to transmit
|
|
||||||
* \param size Length of the data to transmit
|
|
||||||
* \return Number of bytes send or -1 in case of an error
|
|
||||||
*/
|
|
||||||
int send(const char* data, const unsigned int size);
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* Socket sendto function
|
|
||||||
*
|
|
||||||
* \param data Reference to a std::string with the data to transmit
|
|
||||||
* \param size Length of the data to transmit
|
|
||||||
* \param sendcompletebuffer If 'true': do not return until the complete buffer is transmitted
|
|
||||||
* \return Number of bytes send or -1 in case of an error
|
|
||||||
*/
|
|
||||||
int sendto(const char* data, unsigned int size, bool sendcompletebuffer = false);
|
|
||||||
// Data Receive
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* Socket receive function
|
|
||||||
*
|
|
||||||
* \param data Reference to a std::string for storage of the received data.
|
|
||||||
* \param minpacketsize The minimum number of bytes that should be received before returning from this function
|
|
||||||
* \return Number of bytes received or SOCKET_ERROR
|
|
||||||
*/
|
|
||||||
int receive(std::string& data, unsigned int minpacketsize) const;
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* Socket receive function
|
|
||||||
*
|
|
||||||
* \param data Reference to a std::string for storage of the received data.
|
|
||||||
* \return Number of bytes received or SOCKET_ERROR
|
|
||||||
*/
|
|
||||||
int receive(std::string& data) const;
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* Socket receive function
|
|
||||||
*
|
|
||||||
* \param data Pointer to a character array of size buffersize. Used to store the received data.
|
|
||||||
* \param buffersize Size of the 'data' buffer
|
|
||||||
* \param minpacketsize Specifies the minimum number of bytes that need to be received before returning
|
|
||||||
* \return Number of bytes received or SOCKET_ERROR
|
|
||||||
*/
|
|
||||||
int receive(char* data, const unsigned int buffersize, const unsigned int minpacketsize) const;
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* Socket recvfrom function
|
|
||||||
*
|
|
||||||
* \param data Pointer to a character array of size buffersize. Used to store the received data.
|
|
||||||
* \param buffersize Size of the 'data' buffer
|
|
||||||
* \param from Optional: pointer to a sockaddr struct that will get the address from which the data is received
|
|
||||||
* \param fromlen Optional, only required if 'from' is given: length of from struct
|
|
||||||
* \return Number of bytes received or SOCKET_ERROR
|
|
||||||
*/
|
|
||||||
int recvfrom(char* data,
|
|
||||||
const int buffersize,
|
|
||||||
struct sockaddr* from = nullptr,
|
|
||||||
socklen_t* fromlen = nullptr) const;
|
|
||||||
|
|
||||||
bool set_non_blocking(const bool);
|
|
||||||
|
|
||||||
bool ReadLine(std::string& line);
|
|
||||||
|
|
||||||
bool is_valid() const;
|
|
||||||
|
|
||||||
private:
|
|
||||||
SOCKET m_sd; ///< Socket Descriptor
|
|
||||||
SOCKADDR_IN m_sockaddr; ///< Socket Address
|
|
||||||
//struct addrinfo* m_addrinfo; ///< Socket address info
|
|
||||||
std::string m_hostname; ///< Hostname
|
|
||||||
unsigned short m_port; ///< Port number
|
|
||||||
|
|
||||||
enum SocketFamily m_family; ///< Socket Address Family
|
|
||||||
enum SocketProtocol m_protocol; ///< Socket Protocol
|
|
||||||
enum SocketType m_type; ///< Socket Type
|
|
||||||
enum SocketDomain m_domain; ///< Socket domain
|
|
||||||
|
|
||||||
#ifdef TARGET_WINDOWS
|
|
||||||
WSADATA m_wsaData; ///< Windows Socket data
|
|
||||||
static int
|
|
||||||
win_usage_count; ///< Internal Windows usage counter used to prevent a global WSACleanup when more than one Socket object is used
|
|
||||||
#endif
|
|
||||||
|
|
||||||
void errormessage(int errornum, const char* functionname = nullptr) const;
|
|
||||||
int getLastError(void) const;
|
|
||||||
bool osInit();
|
|
||||||
void osCleanup();
|
|
||||||
};
|
|
||||||
|
|
||||||
} //namespace OCTO
|
|
@ -13,45 +13,42 @@
|
|||||||
#include "OctonetData.h"
|
#include "OctonetData.h"
|
||||||
|
|
||||||
ADDON_STATUS COctonetAddon::SetSetting(const std::string& settingName,
|
ADDON_STATUS COctonetAddon::SetSetting(const std::string& settingName,
|
||||||
const kodi::CSettingValue& settingValue)
|
const kodi::addon::CSettingValue& settingValue)
|
||||||
{
|
{
|
||||||
/* For simplicity do a full addon restart whenever settings are
|
/* For simplicity do a full addon restart whenever settings are
|
||||||
* changed */
|
* changed */
|
||||||
return ADDON_STATUS_NEED_RESTART;
|
return ADDON_STATUS_NEED_RESTART;
|
||||||
}
|
}
|
||||||
|
|
||||||
ADDON_STATUS COctonetAddon::CreateInstance(int instanceType,
|
ADDON_STATUS COctonetAddon::CreateInstance(const kodi::addon::IInstanceInfo& instance,
|
||||||
const std::string& instanceID,
|
KODI_ADDON_INSTANCE_HDL& hdl)
|
||||||
KODI_HANDLE instance,
|
|
||||||
const std::string& version,
|
|
||||||
KODI_HANDLE& addonInstance)
|
|
||||||
{
|
{
|
||||||
if (instanceType == ADDON_INSTANCE_PVR)
|
if (instance.IsType(ADDON_INSTANCE_PVR))
|
||||||
{
|
{
|
||||||
kodi::Log(ADDON_LOG_DEBUG, "%s: Creating octonet pvr instance", __func__);
|
kodi::Log(ADDON_LOG_DEBUG, "%s: Creating octonet pvr instance", __func__);
|
||||||
|
|
||||||
/* IP or hostname of the octonet to be connected to */
|
/* IP or hostname of the octonet to be connected to */
|
||||||
std::string octonetAddress = kodi::GetSettingString("octonetAddress");
|
std::string octonetAddress = kodi::addon::GetSettingString("octonetAddress");
|
||||||
|
bool enableTimeshift = kodi::addon::GetSettingBoolean("timeshiftEnabled");
|
||||||
|
|
||||||
OctonetData* usedInstance = new OctonetData(octonetAddress, instance, version);
|
OctonetData* usedInstance = new OctonetData(octonetAddress, enableTimeshift, instance);
|
||||||
addonInstance = usedInstance;
|
hdl = usedInstance;
|
||||||
|
|
||||||
m_usedInstances.emplace(instanceID, usedInstance);
|
m_usedInstances.emplace(instance.GetID(), usedInstance);
|
||||||
return ADDON_STATUS_OK;
|
return ADDON_STATUS_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
return ADDON_STATUS_UNKNOWN;
|
return ADDON_STATUS_UNKNOWN;
|
||||||
}
|
}
|
||||||
|
|
||||||
void COctonetAddon::DestroyInstance(int instanceType,
|
void COctonetAddon::DestroyInstance(const kodi::addon::IInstanceInfo& instance,
|
||||||
const std::string& instanceID,
|
const KODI_ADDON_INSTANCE_HDL hdl)
|
||||||
KODI_HANDLE addonInstance)
|
|
||||||
{
|
{
|
||||||
if (instanceType == ADDON_INSTANCE_PVR)
|
if (instance.IsType(ADDON_INSTANCE_PVR))
|
||||||
{
|
{
|
||||||
kodi::Log(ADDON_LOG_DEBUG, "%s: Destoying octonet pvr instance", __func__);
|
kodi::Log(ADDON_LOG_DEBUG, "%s: Destoying octonet pvr instance", __func__);
|
||||||
|
|
||||||
const auto& it = m_usedInstances.find(instanceID);
|
const auto& it = m_usedInstances.find(instance.GetID());
|
||||||
if (it != m_usedInstances.end())
|
if (it != m_usedInstances.end())
|
||||||
{
|
{
|
||||||
m_usedInstances.erase(it);
|
m_usedInstances.erase(it);
|
||||||
|
16
src/addon.h
16
src/addon.h
@ -15,21 +15,17 @@
|
|||||||
|
|
||||||
class OctonetData;
|
class OctonetData;
|
||||||
|
|
||||||
class ATTRIBUTE_HIDDEN COctonetAddon : public kodi::addon::CAddonBase
|
class ATTR_DLL_LOCAL COctonetAddon : public kodi::addon::CAddonBase
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
COctonetAddon() = default;
|
COctonetAddon() = default;
|
||||||
|
|
||||||
ADDON_STATUS SetSetting(const std::string& settingName,
|
ADDON_STATUS SetSetting(const std::string& settingName,
|
||||||
const kodi::CSettingValue& settingValue) override;
|
const kodi::addon::CSettingValue& settingValue) override;
|
||||||
ADDON_STATUS CreateInstance(int instanceType,
|
ADDON_STATUS CreateInstance(const kodi::addon::IInstanceInfo& instance,
|
||||||
const std::string& instanceID,
|
KODI_ADDON_INSTANCE_HDL& hdl) override;
|
||||||
KODI_HANDLE instance,
|
void DestroyInstance(const kodi::addon::IInstanceInfo& instance,
|
||||||
const std::string& version,
|
const KODI_ADDON_INSTANCE_HDL hdl) override;
|
||||||
KODI_HANDLE& addonInstance) override;
|
|
||||||
void DestroyInstance(int instanceType,
|
|
||||||
const std::string& instanceID,
|
|
||||||
KODI_HANDLE addonInstance) override;
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
std::unordered_map<std::string, OctonetData*> m_usedInstances;
|
std::unordered_map<std::string, OctonetData*> m_usedInstances;
|
||||||
|
@ -1,548 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (C) 2005-2021 Team Kodi (https://kodi.tv)
|
|
||||||
*
|
|
||||||
* SPDX-License-Identifier: GPL-2.0-or-later
|
|
||||||
* See LICENSE.md for more information.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "rtsp_client.hpp"
|
|
||||||
|
|
||||||
#include "Socket.h"
|
|
||||||
|
|
||||||
#include <algorithm>
|
|
||||||
#include <cctype>
|
|
||||||
#include <cstring>
|
|
||||||
#include <iterator>
|
|
||||||
#include <sstream>
|
|
||||||
|
|
||||||
#if defined(_WIN32) || defined(_WIN64)
|
|
||||||
#define strtok_r strtok_s
|
|
||||||
#define strncasecmp _strnicmp
|
|
||||||
|
|
||||||
int vasprintf(char** sptr, char* fmt, va_list argv)
|
|
||||||
{
|
|
||||||
int wanted = vsnprintf(*sptr = nullptr, 0, fmt, argv);
|
|
||||||
if ((wanted < 0) || ((*sptr = (char*)malloc(1 + wanted)) == nullptr))
|
|
||||||
return -1;
|
|
||||||
return vsprintf(*sptr, fmt, argv);
|
|
||||||
}
|
|
||||||
|
|
||||||
int asprintf(char** sptr, char* fmt, ...)
|
|
||||||
{
|
|
||||||
int retval;
|
|
||||||
va_list argv;
|
|
||||||
va_start(argv, fmt);
|
|
||||||
retval = vasprintf(sptr, fmt, argv);
|
|
||||||
va_end(argv);
|
|
||||||
return retval;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define RTSP_DEFAULT_PORT 554
|
|
||||||
#define RTSP_RECEIVE_BUFFER 2048
|
|
||||||
#define RTP_HEADER_SIZE 12
|
|
||||||
#define VLEN 100
|
|
||||||
#define KEEPALIVE_INTERVAL 60
|
|
||||||
#define KEEPALIVE_MARGIN 5
|
|
||||||
#define UDP_ADDRESS_LEN 16
|
|
||||||
#define RTCP_BUFFER_SIZE 1024
|
|
||||||
|
|
||||||
using namespace std;
|
|
||||||
using namespace OCTO;
|
|
||||||
|
|
||||||
enum rtsp_state
|
|
||||||
{
|
|
||||||
RTSP_IDLE,
|
|
||||||
RTSP_DESCRIBE,
|
|
||||||
RTSP_SETUP,
|
|
||||||
RTSP_PLAY,
|
|
||||||
RTSP_RUNNING
|
|
||||||
};
|
|
||||||
|
|
||||||
enum rtsp_result
|
|
||||||
{
|
|
||||||
RTSP_RESULT_OK = 200,
|
|
||||||
};
|
|
||||||
|
|
||||||
struct rtsp_client
|
|
||||||
{
|
|
||||||
char* content_base;
|
|
||||||
char* control;
|
|
||||||
char session_id[64];
|
|
||||||
uint16_t stream_id;
|
|
||||||
int keepalive_interval;
|
|
||||||
|
|
||||||
char udp_address[UDP_ADDRESS_LEN];
|
|
||||||
uint16_t udp_port;
|
|
||||||
|
|
||||||
Socket tcp_sock;
|
|
||||||
Socket udp_sock;
|
|
||||||
Socket rtcp_sock;
|
|
||||||
|
|
||||||
enum rtsp_state state;
|
|
||||||
int cseq;
|
|
||||||
|
|
||||||
size_t fifo_size;
|
|
||||||
uint16_t last_seq_nr;
|
|
||||||
|
|
||||||
string name;
|
|
||||||
int level;
|
|
||||||
int quality;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct url
|
|
||||||
{
|
|
||||||
string protocol;
|
|
||||||
string host;
|
|
||||||
int port;
|
|
||||||
string path;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct rtcp_app
|
|
||||||
{
|
|
||||||
uint8_t subtype;
|
|
||||||
uint8_t pt;
|
|
||||||
uint16_t len;
|
|
||||||
uint32_t ssrc;
|
|
||||||
char name[4];
|
|
||||||
uint16_t identifier;
|
|
||||||
uint16_t string_len;
|
|
||||||
};
|
|
||||||
|
|
||||||
static rtsp_client* rtsp = nullptr;
|
|
||||||
|
|
||||||
static url parse_url(const std::string& str)
|
|
||||||
{
|
|
||||||
static const string prot_end = "://";
|
|
||||||
static const string host_end = "/";
|
|
||||||
url result;
|
|
||||||
|
|
||||||
string::const_iterator begin = str.begin();
|
|
||||||
string::const_iterator end = search(begin, str.end(), prot_end.begin(), prot_end.end());
|
|
||||||
result.protocol.reserve(distance(begin, end));
|
|
||||||
transform(begin, end, back_inserter(result.protocol), ::tolower);
|
|
||||||
advance(end, prot_end.size());
|
|
||||||
begin = end;
|
|
||||||
|
|
||||||
end = search(begin, str.end(), host_end.begin(), host_end.end());
|
|
||||||
result.host.reserve(distance(begin, end));
|
|
||||||
transform(begin, end, back_inserter(result.host), ::tolower);
|
|
||||||
advance(end, host_end.size());
|
|
||||||
begin = end;
|
|
||||||
|
|
||||||
result.port = RTSP_DEFAULT_PORT;
|
|
||||||
|
|
||||||
result.path.reserve(distance(begin, str.end()));
|
|
||||||
transform(begin, str.end(), back_inserter(result.path), ::tolower);
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
void split_string(const string& s, char delim, vector<string>& elems)
|
|
||||||
{
|
|
||||||
stringstream ss;
|
|
||||||
ss.str(s);
|
|
||||||
|
|
||||||
string item;
|
|
||||||
while (getline(ss, item, delim))
|
|
||||||
{
|
|
||||||
elems.push_back(item);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static int tcp_sock_read_line(string& line)
|
|
||||||
{
|
|
||||||
static string buf;
|
|
||||||
|
|
||||||
while (true)
|
|
||||||
{
|
|
||||||
string::size_type pos = buf.find("\r\n");
|
|
||||||
if (pos != string::npos)
|
|
||||||
{
|
|
||||||
line = buf.substr(0, pos);
|
|
||||||
buf.erase(0, pos + 2);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
char tmp_buf[2048];
|
|
||||||
int size = rtsp->tcp_sock.receive(tmp_buf, sizeof(tmp_buf), 1);
|
|
||||||
if (size <= 0)
|
|
||||||
{
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
buf.append(&tmp_buf[0], &tmp_buf[size]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static string compose_url(const url& u)
|
|
||||||
{
|
|
||||||
stringstream res;
|
|
||||||
res << u.protocol << "://" << u.host;
|
|
||||||
if (u.port > 0)
|
|
||||||
res << ":" << u.port;
|
|
||||||
res << "/" << u.path;
|
|
||||||
|
|
||||||
return res.str();
|
|
||||||
}
|
|
||||||
|
|
||||||
static void parse_session(char* request_line, char* session, unsigned max, int* timeout)
|
|
||||||
{
|
|
||||||
char* state;
|
|
||||||
char* tok;
|
|
||||||
|
|
||||||
tok = strtok_r(request_line, ";", &state);
|
|
||||||
if (tok == nullptr)
|
|
||||||
return;
|
|
||||||
strncpy(session, tok, min(strlen(tok), (size_t)(max - 1)));
|
|
||||||
|
|
||||||
while ((tok = strtok_r(nullptr, ";", &state)) != nullptr)
|
|
||||||
{
|
|
||||||
if (strncmp(tok, "timeout=", 8) == 0)
|
|
||||||
{
|
|
||||||
*timeout = atoi(tok + 8);
|
|
||||||
if (*timeout > 5)
|
|
||||||
*timeout -= KEEPALIVE_MARGIN;
|
|
||||||
else if (*timeout > 0)
|
|
||||||
*timeout = 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static int parse_port(char* str, uint16_t* port)
|
|
||||||
{
|
|
||||||
int p = atoi(str);
|
|
||||||
if (p < 0 || p > UINT16_MAX)
|
|
||||||
return -1;
|
|
||||||
|
|
||||||
*port = p;
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int parse_transport(char* request_line)
|
|
||||||
{
|
|
||||||
char* state;
|
|
||||||
char* tok;
|
|
||||||
int err;
|
|
||||||
|
|
||||||
tok = strtok_r(request_line, ";", &state);
|
|
||||||
if (tok == nullptr || strncmp(tok, "RTP/AVP", 7) != 0)
|
|
||||||
return -1;
|
|
||||||
|
|
||||||
tok = strtok_r(nullptr, ";", &state);
|
|
||||||
if (tok == nullptr || strncmp(tok, "multicast", 9) != 0)
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
while ((tok = strtok_r(nullptr, ";", &state)) != nullptr)
|
|
||||||
{
|
|
||||||
if (strncmp(tok, "destination=", 12) == 0)
|
|
||||||
{
|
|
||||||
strncpy(rtsp->udp_address, tok + 12, min(strlen(tok + 12), (size_t)(UDP_ADDRESS_LEN - 1)));
|
|
||||||
}
|
|
||||||
else if (strncmp(tok, "port=", 5) == 0)
|
|
||||||
{
|
|
||||||
char port[6];
|
|
||||||
char* end;
|
|
||||||
|
|
||||||
memset(port, 0x00, 6);
|
|
||||||
strncpy(port, tok + 5, min(strlen(tok + 5), (size_t)5));
|
|
||||||
if ((end = strstr(port, "-")) != nullptr)
|
|
||||||
*end = '\0';
|
|
||||||
err = parse_port(port, &rtsp->udp_port);
|
|
||||||
if (err)
|
|
||||||
return err;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#define skip_whitespace(x) \
|
|
||||||
while (*x == ' ') \
|
|
||||||
x++
|
|
||||||
static enum rtsp_result rtsp_handle()
|
|
||||||
{
|
|
||||||
uint8_t buffer[512];
|
|
||||||
int rtsp_result = 0;
|
|
||||||
bool have_header = false;
|
|
||||||
size_t content_length = 0;
|
|
||||||
size_t read = 0;
|
|
||||||
char *in, *val;
|
|
||||||
string in_str;
|
|
||||||
|
|
||||||
/* Parse header */
|
|
||||||
while (!have_header)
|
|
||||||
{
|
|
||||||
if (tcp_sock_read_line(in_str) < 0)
|
|
||||||
break;
|
|
||||||
in = const_cast<char*>(in_str.c_str());
|
|
||||||
|
|
||||||
if (strncmp(in, "RTSP/1.0 ", 9) == 0)
|
|
||||||
{
|
|
||||||
rtsp_result = atoi(in + 9);
|
|
||||||
}
|
|
||||||
else if (strncmp(in, "Content-Base:", 13) == 0)
|
|
||||||
{
|
|
||||||
free(rtsp->content_base);
|
|
||||||
|
|
||||||
val = in + 13;
|
|
||||||
skip_whitespace(val);
|
|
||||||
|
|
||||||
rtsp->content_base = strdup(val);
|
|
||||||
}
|
|
||||||
else if (strncmp(in, "Content-Length:", 15) == 0)
|
|
||||||
{
|
|
||||||
val = in + 16;
|
|
||||||
skip_whitespace(val);
|
|
||||||
|
|
||||||
content_length = atoi(val);
|
|
||||||
}
|
|
||||||
else if (strncmp("Session:", in, 8) == 0)
|
|
||||||
{
|
|
||||||
val = in + 8;
|
|
||||||
skip_whitespace(val);
|
|
||||||
|
|
||||||
parse_session(val, rtsp->session_id, 64, &rtsp->keepalive_interval);
|
|
||||||
}
|
|
||||||
else if (strncmp("Transport:", in, 10) == 0)
|
|
||||||
{
|
|
||||||
val = in + 10;
|
|
||||||
skip_whitespace(val);
|
|
||||||
|
|
||||||
if (parse_transport(val) != 0)
|
|
||||||
{
|
|
||||||
rtsp_result = -1;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (strncmp("com.ses.streamID:", in, 17) == 0)
|
|
||||||
{
|
|
||||||
val = in + 17;
|
|
||||||
skip_whitespace(val);
|
|
||||||
|
|
||||||
rtsp->stream_id = atoi(val);
|
|
||||||
}
|
|
||||||
else if (in[0] == '\0')
|
|
||||||
{
|
|
||||||
have_header = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Discard further content */
|
|
||||||
while (content_length > 0 && (read = rtsp->tcp_sock.receive((char*)buffer, sizeof(buffer),
|
|
||||||
min(sizeof(buffer), content_length))))
|
|
||||||
content_length -= read;
|
|
||||||
|
|
||||||
return (enum rtsp_result)rtsp_result;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool rtsp_open(const string& name, const string& url_str)
|
|
||||||
{
|
|
||||||
string setup_url_str;
|
|
||||||
const char* psz_setup_url;
|
|
||||||
stringstream setup_ss;
|
|
||||||
stringstream play_ss;
|
|
||||||
url setup_url;
|
|
||||||
|
|
||||||
rtsp_close();
|
|
||||||
rtsp = new rtsp_client();
|
|
||||||
if (rtsp == nullptr)
|
|
||||||
return false;
|
|
||||||
|
|
||||||
rtsp->name = name;
|
|
||||||
rtsp->level = 0;
|
|
||||||
rtsp->quality = 0;
|
|
||||||
|
|
||||||
kodi::Log(ADDON_LOG_DEBUG, "try to open '%s'", url_str.c_str());
|
|
||||||
|
|
||||||
url dst = parse_url(url_str);
|
|
||||||
kodi::Log(ADDON_LOG_DEBUG, "connect to host '%s'", dst.host.c_str());
|
|
||||||
|
|
||||||
if (!rtsp->tcp_sock.connect(dst.host, dst.port))
|
|
||||||
{
|
|
||||||
kodi::Log(ADDON_LOG_ERROR, "Failed to connect to RTSP server %s:%d", dst.host.c_str(),
|
|
||||||
dst.port);
|
|
||||||
goto error;
|
|
||||||
}
|
|
||||||
|
|
||||||
// TODO: tcp keep alive?
|
|
||||||
|
|
||||||
if (asprintf(&rtsp->content_base, "rtsp://%s:%d/", dst.host.c_str(), dst.port) < 0)
|
|
||||||
{
|
|
||||||
rtsp->content_base = nullptr;
|
|
||||||
goto error;
|
|
||||||
}
|
|
||||||
|
|
||||||
rtsp->last_seq_nr = 0;
|
|
||||||
rtsp->keepalive_interval = (KEEPALIVE_INTERVAL - KEEPALIVE_MARGIN);
|
|
||||||
|
|
||||||
setup_url = dst;
|
|
||||||
|
|
||||||
// reverse the satip protocol trick, as SAT>IP believes to be RTSP
|
|
||||||
if (!strncasecmp(setup_url.protocol.c_str(), "satip", 5))
|
|
||||||
{
|
|
||||||
setup_url.protocol = "rtsp";
|
|
||||||
}
|
|
||||||
|
|
||||||
setup_url_str = compose_url(setup_url);
|
|
||||||
psz_setup_url = setup_url_str.c_str();
|
|
||||||
|
|
||||||
// TODO: Find available port
|
|
||||||
rtsp->udp_sock = Socket(af_inet, pf_inet, sock_dgram, udp);
|
|
||||||
rtsp->udp_port = 6785;
|
|
||||||
if (!rtsp->udp_sock.bind(rtsp->udp_port))
|
|
||||||
{
|
|
||||||
goto error;
|
|
||||||
}
|
|
||||||
|
|
||||||
setup_ss << "SETUP " << setup_url_str << " RTSP/1.0\r\n";
|
|
||||||
setup_ss << "CSeq: " << rtsp->cseq++ << "\r\n";
|
|
||||||
setup_ss << "Transport: RTP/AVP;unicast;client_port=" << rtsp->udp_port << "-"
|
|
||||||
<< (rtsp->udp_port + 1) << "\r\n\r\n";
|
|
||||||
rtsp->tcp_sock.send(setup_ss.str());
|
|
||||||
|
|
||||||
if (rtsp_handle() != RTSP_RESULT_OK)
|
|
||||||
{
|
|
||||||
kodi::Log(ADDON_LOG_ERROR, "Failed to setup RTSP session");
|
|
||||||
goto error;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (asprintf(&rtsp->control, "%sstream=%d", rtsp->content_base, rtsp->stream_id) < 0)
|
|
||||||
{
|
|
||||||
rtsp->control = nullptr;
|
|
||||||
goto error;
|
|
||||||
}
|
|
||||||
|
|
||||||
play_ss << "PLAY " << rtsp->control << " RTSP/1.0\r\n";
|
|
||||||
play_ss << "CSeq: " << rtsp->cseq++ << "\r\n";
|
|
||||||
play_ss << "Session: " << rtsp->session_id << "\r\n\r\n";
|
|
||||||
rtsp->tcp_sock.send(play_ss.str());
|
|
||||||
|
|
||||||
if (rtsp_handle() != RTSP_RESULT_OK)
|
|
||||||
{
|
|
||||||
kodi::Log(ADDON_LOG_ERROR, "Failed to play RTSP session");
|
|
||||||
goto error;
|
|
||||||
}
|
|
||||||
|
|
||||||
rtsp->rtcp_sock = Socket(af_inet, pf_inet, sock_dgram, udp);
|
|
||||||
if (!rtsp->rtcp_sock.bind(rtsp->udp_port + 1))
|
|
||||||
{
|
|
||||||
goto error;
|
|
||||||
}
|
|
||||||
if (!rtsp->rtcp_sock.set_non_blocking(true))
|
|
||||||
{
|
|
||||||
goto error;
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
|
|
||||||
error:
|
|
||||||
rtsp_close();
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void parse_rtcp(const char* buf, int size)
|
|
||||||
{
|
|
||||||
int offset = 0;
|
|
||||||
while (size > 4)
|
|
||||||
{
|
|
||||||
const rtcp_app* app = reinterpret_cast<const rtcp_app*>(buf + offset);
|
|
||||||
uint16_t len = 4 * (ntohs(app->len) + 1);
|
|
||||||
|
|
||||||
if ((app->pt != 204) || (memcmp(app->name, "SES1", 4) != 0))
|
|
||||||
{
|
|
||||||
size -= len;
|
|
||||||
offset += len;
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
uint16_t string_len = ntohs(app->string_len);
|
|
||||||
string app_data(&buf[offset + sizeof(rtcp_app)], string_len);
|
|
||||||
|
|
||||||
vector<string> elems;
|
|
||||||
split_string(app_data, ';', elems);
|
|
||||||
if (elems.size() != 4)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
vector<string> tuner;
|
|
||||||
split_string(elems[2], ',', tuner);
|
|
||||||
if (tuner.size() < 4)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
rtsp->level = atoi(tuner[1].c_str());
|
|
||||||
rtsp->quality = atoi(tuner[3].c_str());
|
|
||||||
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
int rtsp_read(void* buf, unsigned buf_size)
|
|
||||||
{
|
|
||||||
sockaddr addr;
|
|
||||||
socklen_t addr_len = sizeof(addr);
|
|
||||||
int ret = rtsp->udp_sock.recvfrom((char*)buf, buf_size, (sockaddr*)&addr, &addr_len);
|
|
||||||
|
|
||||||
char rtcp_buf[RTCP_BUFFER_SIZE];
|
|
||||||
int rtcp_len = rtsp->rtcp_sock.recvfrom(rtcp_buf, RTCP_BUFFER_SIZE, (sockaddr*)&addr, &addr_len);
|
|
||||||
parse_rtcp(rtcp_buf, rtcp_len);
|
|
||||||
|
|
||||||
// TODO: check ip
|
|
||||||
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void rtsp_teardown()
|
|
||||||
{
|
|
||||||
if (!rtsp->tcp_sock.is_valid())
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (rtsp->session_id[0] > 0)
|
|
||||||
{
|
|
||||||
char* msg;
|
|
||||||
int len;
|
|
||||||
stringstream ss;
|
|
||||||
|
|
||||||
rtsp->udp_sock.close();
|
|
||||||
|
|
||||||
ss << "TEARDOWN " << rtsp->control << " RTSP/1.0\r\n";
|
|
||||||
ss << "CSeq: " << rtsp->cseq++ << "\r\n";
|
|
||||||
ss << "Session: " << rtsp->session_id << "\r\n\r\n";
|
|
||||||
rtsp->tcp_sock.send(ss.str());
|
|
||||||
|
|
||||||
if (rtsp_handle() != RTSP_RESULT_OK)
|
|
||||||
{
|
|
||||||
kodi::Log(ADDON_LOG_ERROR, "Failed to teardown RTSP session");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void rtsp_close()
|
|
||||||
{
|
|
||||||
if (rtsp)
|
|
||||||
{
|
|
||||||
rtsp_teardown();
|
|
||||||
rtsp->tcp_sock.close();
|
|
||||||
rtsp->udp_sock.close();
|
|
||||||
rtsp->rtcp_sock.close();
|
|
||||||
delete rtsp;
|
|
||||||
rtsp = nullptr;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void rtsp_fill_signal_status(kodi::addon::PVRSignalStatus& signal_status)
|
|
||||||
{
|
|
||||||
if (rtsp)
|
|
||||||
{
|
|
||||||
signal_status.SetAdapterName(rtsp->name);
|
|
||||||
signal_status.SetSNR(0x1111 * rtsp->quality);
|
|
||||||
signal_status.SetSignal(0x101 * rtsp->level);
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,16 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (C) 2005-2021 Team Kodi (https://kodi.tv)
|
|
||||||
*
|
|
||||||
* SPDX-License-Identifier: GPL-2.0-or-later
|
|
||||||
* See LICENSE.md for more information.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#pragma once
|
|
||||||
|
|
||||||
#include <kodi/addon-instance/pvr/Channels.h>
|
|
||||||
#include <string>
|
|
||||||
|
|
||||||
bool rtsp_open(const std::string& name, const std::string& url_str);
|
|
||||||
void rtsp_close();
|
|
||||||
int rtsp_read(void* buf, unsigned buf_size);
|
|
||||||
void rtsp_fill_signal_status(kodi::addon::PVRSignalStatus& signal_status);
|
|
Loading…
x
Reference in New Issue
Block a user