Merge branch 'master' into audio-track-selection-2

This commit is contained in:
Neil Burrows 2022-01-15 17:03:01 +00:00 committed by GitHub
commit 06186d8cf5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 296 additions and 9 deletions

View File

@ -12,7 +12,7 @@
########################################################################## ##########################################################################
APPNAME = Jellyfin_Roku APPNAME = Jellyfin_Roku
VERSION = 1.4.10 VERSION = 1.4.11
ROKU_TEST_ID = 1 ROKU_TEST_ID = 1
ROKU_TEST_WAIT_DURATION = 5 ROKU_TEST_WAIT_DURATION = 5

View File

@ -422,5 +422,42 @@
<translation>Enter the server name or ip address</translation> <translation>Enter the server name or ip address</translation>
<extracomment>Title of KeyboardDialog when manually entering a server URL</extracomment> <extracomment>Title of KeyboardDialog when manually entering a server URL</extracomment>
</message> </message>
<message>
<source>An error was encountered while playing this item. Server did not provide required transcoding data.</source>
<translation>An error was encountered while playing this item. Server did not provide required transcoding data.</translation>
<extracomment>Content of message box when trying to play an item which requires transcoding, and the server did not provide transcode url</extracomment>
</message>
<message>
<source>Error Getting Playback Information</source>
<translation>Error Getting Playback Information</translation>
<extracomment>Dialog Title: Received error from server when trying to get information about the selected item for playback</extracomment>
</message>
<message>
<source>...or enter server URL manually:</source>
<translation>...or enter server URL manually:</translation>
<extracomment>Instructions on initial app launch when the user is asked to manually enter a server URL</extracomment>
</message>
<message>
<source>Pick a Jellyfin server from the local network</source>
<translation>Pick a Jellyfin server from the local network</translation>
<extracomment>Instructions on initial app launch when the user is asked to pick a server from a list</extracomment>
</message>
<message>
<source>Enter the server name or ip address</source>
<translation>Enter the server name or IP address</translation>
<extracomment>Title of KeyboardDialog when manually entering a server URL</extracomment>
</message>
<message>
<source>On Now</source>
<translation>On Now</translation>
</message>
<message>
<source>Delete Saved</source>
<translation>Delete Saved</translation>
</message>
<message>
<source>Save Credentials?</source>
<translation>Save Credentials?</translation>
</message>
</context> </context>
</TS> </TS>

View File

@ -6,7 +6,7 @@
<name>default</name> <name>default</name>
<message> <message>
<source>192.168.1.100:8096 or https://example.com/jellyfin</source> <source>192.168.1.100:8096 or https://example.com/jellyfin</source>
<translation>192.168.1.100:8096 or https://example.com/jellyfin</translation> <translation>default192.168.1.100:8096 or https://example.com/jellyfin</translation>
</message> </message>
<message> <message>
<source>Cancel</source> <source>Cancel</source>

View File

@ -6,7 +6,7 @@
<name>default</name> <name>default</name>
<message> <message>
<source>192.168.1.100:8096 or https://example.com/jellyfin</source> <source>192.168.1.100:8096 or https://example.com/jellyfin</source>
<translation>192.168.1.100:8096 vagy https://example.com/jellyfin</translation> <translation>alapértelmezetten 192.168.1.100:8096 vagy https://example.com/jellyfin</translation>
</message> </message>
<message> <message>
<source>Cancel</source> <source>Cancel</source>

View File

@ -6,7 +6,7 @@
<name>default</name> <name>default</name>
<message> <message>
<source>192.168.1.100:8096 or https://example.com/jellyfin</source> <source>192.168.1.100:8096 or https://example.com/jellyfin</source>
<translation>192.168.1.100:8096 o https://example.com/jellyfin</translation> <translation>default192.168.1.100:8096 o https://example.com/jellyfin</translation>
</message> </message>
<message> <message>
<source>Cancel</source> <source>Cancel</source>
@ -1201,5 +1201,254 @@
<source>Change Server</source> <source>Change Server</source>
<translation>Cambia Server</translation> <translation>Cambia Server</translation>
</message> </message>
<message>
<source>An error was encountered while playing this item. Server did not provide required transcoding data.</source>
<translation>Si è verificato un errore nella riproduzione. Il server non ha fornito le informazioni necessarie di transcodifica.</translation>
<extracomment>Content of message box when trying to play an item which requires transcoding, and the server did not provide transcode url</extracomment>
</message>
<message>
<source>Error Getting Playback Information</source>
<translation>Errore nel recupero delle informazioni di riproduzione</translation>
<extracomment>Dialog Title: Received error from server when trying to get information about the selected item for playback</extracomment>
</message>
<message>
<source>...or enter server URL manually:</source>
<translation>...o inserisci l&apos;URL del server:</translation>
<extracomment>Instructions on initial app launch when the user is asked to manually enter a server URL</extracomment>
</message>
<message>
<source>Pick a Jellyfin server from the local network</source>
<translation>Scegli un server Jellyfin dalla rete locale</translation>
<extracomment>Instructions on initial app launch when the user is asked to pick a server from a list</extracomment>
</message>
<message>
<source>Enter the server name or ip address</source>
<translation>Inserisci il nome del server o l&apos;indirizzo ip</translation>
<extracomment>Title of KeyboardDialog when manually entering a server URL</extracomment>
</message>
<message>
<source>The requested content does not exist on the server</source>
<translation>Il contenuto richiesto non esiste sul server</translation>
<extracomment>Content of message box when the requested content is not found on the server</extracomment>
</message>
<message>
<source>Not found</source>
<translation>Non trovato</translation>
<extracomment>Title of message box when the requested content is not found on the server</extracomment>
</message>
<message>
<source>Connecting to Server</source>
<translation>Connessione al Server in corso</translation>
<extracomment>Message to display to user while client is attempting to connect to the server</extracomment>
</message>
<message>
<source>TV Guide</source>
<translation>Guida TV</translation>
<extracomment>Menu option for showing Live TV Guide / Schedule</extracomment>
</message>
<message>
<source>Channels</source>
<translation>Canali</translation>
<extracomment>Menu option for showing Live TV Channel List</extracomment>
</message>
<message>
<source>Repeat</source>
<translation>Replica</translation>
<extracomment>If TV Shows has previously been broadcasted</extracomment>
</message>
<message>
<source>Live</source>
<translation>In diretta</translation>
<extracomment>If TV Show is being broadcast live (not pre-recorded)</extracomment>
</message>
<message>
<source>Ends at</source>
<translation>Termina alle</translation>
<extracomment>(Past Tense) For defining a day and time when a program ended (e.g. Ended Wednesday, 08:00) </extracomment>
</message>
<message>
<source>Ended at</source>
<translation>Terminato alle</translation>
<extracomment>(Past Tense) For defining time when a program will ended (e.g. Ended at 08:00) </extracomment>
</message>
<message>
<source>Starts</source>
<translation>Inizia</translation>
<extracomment>(Future Tense) For defining a day and time when a program will start (e.g. Starts Wednesday, 08:00) </extracomment>
</message>
<message>
<source>Starts at</source>
<translation>Inizia alle</translation>
<extracomment>(Future Tense) For defining time when a program will start today (e.g. Starts at 08:00) </extracomment>
</message>
<message>
<source>Started</source>
<translation>Iniziato</translation>
<extracomment>(Past Tense) For defining a day and time when a program started (e.g. Started Wednesday, 08:00) </extracomment>
</message>
<message>
<source>Started at</source>
<translation>Iniziato alle</translation>
<extracomment>(Past Tense) For defining time when a program started today (e.g. Started at 08:00) </extracomment>
</message>
<message>
<source>Saturday</source>
<translation>Sabato</translation>
<extracomment>Day of Week</extracomment>
</message>
<message>
<source>Friday</source>
<translation>Venerdì</translation>
<extracomment>Day of Week</extracomment>
</message>
<message>
<source>Thursday</source>
<translation>Giovedì</translation>
<extracomment>Day of Week</extracomment>
</message>
<message>
<source>Wednesday</source>
<translation>Mercoledì</translation>
<extracomment>Day of Week</extracomment>
</message>
<message>
<source>Tuesday</source>
<translation>Martedì</translation>
<extracomment>Day of Week</extracomment>
</message>
<message>
<source>Monday</source>
<translation>Lunedì</translation>
<extracomment>Day of Week</extracomment>
</message>
<message>
<source>Sunday</source>
<translation>Domenica</translation>
<extracomment>Day of Week</extracomment>
</message>
<message>
<source>tomorrow</source>
<translation>domani</translation>
<extracomment>Next day</extracomment>
</message>
<message>
<source>yesterday</source>
<translation>ieri</translation>
<extracomment>Previous day</extracomment>
</message>
<message>
<source>today</source>
<translation>oggi</translation>
<extracomment>Current day</extracomment>
</message>
<message>
<comment>Title of Tab for options to filter library content</comment>
<source>TAB_FILTER</source>
<translation>Filtro</translation>
</message>
<message>
<comment>Title of Tab for options to sort library content</comment>
<source>TAB_SORT</source>
<translation>Ordine</translation>
</message>
<message>
<comment>Title of Tab for switching &quot;views&quot; when looking at a library</comment>
<source>TAB_VIEW</source>
<translation>Vista</translation>
</message>
<message>
<source>RUNTIME</source>
<translation>Durata</translation>
</message>
<message>
<source>RELEASE_DATE</source>
<translation>Data di uscita</translation>
</message>
<message>
<source>PLAY_COUNT</source>
<translation>Riproduzioni</translation>
</message>
<message>
<source>OFFICIAL_RATING</source>
<translation>Classificazione per genitori</translation>
</message>
<message>
<source>DATE_PLAYED</source>
<translation>Visto il</translation>
</message>
<message>
<source>DATE_ADDED</source>
<translation>Aggiunto il</translation>
</message>
<message>
<source>CRITIC_RATING</source>
<translation>Voto della critica</translation>
</message>
<message>
<source>IMDB_RATING</source>
<translation>Voto IMDB</translation>
</message>
<message>
<comment>Name or Title field of media item</comment>
<source>TITLE</source>
<translation>Nome</translation>
</message>
<message>
<comment>Message displayed in Item Grid when no item to display. %1 is container type (e.g. Boxset, Collection, Folder, etc)</comment>
<source>NO_ITEMS</source>
<translation>Questa %1 non contiene elementi</translation>
</message>
<message>
<source>Unable to load Channel Data from the server</source>
<translation>Impossibile recuperare i dati del canale dal server</translation>
</message>
<message>
<source>Error loading Channel Data</source>
<translation>Errore nel caricamento dei dati del canale</translation>
</message>
<message>
<source>Loading Channel Data</source>
<translation>Caricamento dati del canale</translation>
</message>
<message>
<source>An error was encountered while playing this item.</source>
<translation>C&apos;è stato un errore durante la riproduzione.</translation>
<extracomment>Dialog detail when error occurs during playback</extracomment>
</message>
<message>
<source>There was an error retrieving the data for this item from the server.</source>
<translation>C&apos;è stato un errore nel recupero dei dati dal server.</translation>
<extracomment>Dialog detail when unable to load Content from Server</extracomment>
</message>
<message>
<source>Error During Playback</source>
<translation>Errone durante la riproduzione</translation>
<extracomment>Dialog title when error occurs during playback</extracomment>
</message>
<message>
<source>Error Retrieving Content</source>
<translation>Errore nel recupero del contenuto</translation>
<extracomment>Dialog title when unable to load Content from Server</extracomment>
</message>
<message>
<source>On Now</source>
<translation>In onda ora</translation>
</message>
<message>
<source>Delete Saved</source>
<translation>Elimina salvati</translation>
</message>
<message>
<source>Save Credentials?</source>
<translation>Salvare credenziali?</translation>
</message>
<message>
<source>Sign Out</source>
<translation>Esci</translation>
</message>
<message>
<source>Change Server</source>
<translation>Cambia server</translation>
</message>
</context> </context>
</TS> </TS>

View File

@ -2,7 +2,7 @@
title=Jellyfin title=Jellyfin
major_version=1 major_version=1
minor_version=4 minor_version=4
build_version=10 build_version=11
### Main Menu Icons / Channel Poster Artwork ### Main Menu Icons / Channel Poster Artwork
mm_icon_focus_fhd=pkg:/images/channel-poster_fhd.png mm_icon_focus_fhd=pkg:/images/channel-poster_fhd.png

View File

@ -1,6 +1,6 @@
{ {
"name": "jellyfin-roku", "name": "jellyfin-roku",
"version": "1.4.10", "version": "1.4.11",
"description": "Roku app for Jellyfin media server", "description": "Roku app for Jellyfin media server",
"main": "index.js", "main": "index.js",
"directories": { "directories": {

View File

@ -64,11 +64,12 @@ sub AddVideoContent(video, audio_stream_idx = 1, subtitle_idx = -1, playbackPosi
video.content.PlayStart = int(playbackPosition / 10000000) video.content.PlayStart = int(playbackPosition / 10000000)
' Call PlayInfo from server ' Call PlayInfo from server
mediaSourceId = video.mediaSourceId mediaSourceId = video.id
if meta.live then mediaSourceId = "" ' Don't send mediaSourceId for Live media if meta.live then mediaSourceId = "" ' Don't send mediaSourceId for Live media
playbackInfo = ItemPostPlaybackInfo(video.id, mediaSourceId, audio_stream_idx, subtitle_idx, playbackPosition) playbackInfo = ItemPostPlaybackInfo(video.id, mediaSourceId, audio_stream_idx, subtitle_idx, playbackPosition)
video.videoId = video.id video.videoId = video.id
video.mediaSourceId = video.id
video.audioIndex = audio_stream_idx video.audioIndex = audio_stream_idx
if playbackInfo = invalid if playbackInfo = invalid