2020-09-15 14:53:13 +00:00
|
|
|
|
<?xml version="1.0" encoding="utf-8"?>
|
|
|
|
|
<!DOCTYPE TS>
|
|
|
|
|
<TS version="2.1">
|
2020-09-26 00:51:37 +00:00
|
|
|
|
<context>
|
|
|
|
|
<name>AboutPage</name>
|
|
|
|
|
<message>
|
|
|
|
|
<source>About Sailfin</source>
|
2023-12-23 14:06:36 +00:00
|
|
|
|
<translation>About Sailfin1</translation>
|
2020-09-26 00:51:37 +00:00
|
|
|
|
</message>
|
|
|
|
|
<message>
|
|
|
|
|
<source>Open externally</source>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
<message>
|
|
|
|
|
<source>LGPL 2.1 License</source>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
2020-09-27 20:41:35 +00:00
|
|
|
|
<message>
|
2023-12-23 14:06:36 +00:00
|
|
|
|
<source><p><b>Sailfin version %1</b><br/>Copyright © Chris Josten 2020–%2</p><p>Sailfin is Free Software licensed under the <a href='lgpl'>LGPL-v2.1</a> or later, at your choice. Parts of the code of Sailfin are from other libraries. <a href='3rdparty'>View their licenses here</a>.</p></source>
|
2020-09-27 20:41:35 +00:00
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
2020-09-26 00:51:37 +00:00
|
|
|
|
</context>
|
2020-09-15 14:53:13 +00:00
|
|
|
|
<context>
|
|
|
|
|
<name>AddServerConnectingPage</name>
|
|
|
|
|
<message>
|
|
|
|
|
<source>Connecting to %1</source>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
</context>
|
|
|
|
|
<context>
|
|
|
|
|
<name>AddServerPage</name>
|
|
|
|
|
<message>
|
|
|
|
|
<source>Connect</source>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
<message>
|
|
|
|
|
<source>Connect to Jellyfin</source>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
<message>
|
|
|
|
|
<source>Server</source>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
<message>
|
|
|
|
|
<source>Sailfin will try to search for Jellyfin servers on your local network automatically</source>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
<message>
|
|
|
|
|
<source>enter address manually</source>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
<message>
|
|
|
|
|
<source>Server address</source>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
<message>
|
|
|
|
|
<source>e.g. https://demo.jellyfin.org</source>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
</context>
|
2020-10-10 13:56:04 +00:00
|
|
|
|
<context>
|
|
|
|
|
<name>BaseDetailPage</name>
|
|
|
|
|
<message>
|
|
|
|
|
<source>Retry</source>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
<message>
|
|
|
|
|
<source>An error has occured</source>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
</context>
|
2020-09-27 14:54:45 +00:00
|
|
|
|
<context>
|
|
|
|
|
<name>CollectionPage</name>
|
|
|
|
|
<message>
|
|
|
|
|
<source>Loading</source>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
<message>
|
|
|
|
|
<source>Sort by</source>
|
|
|
|
|
<extracomment>Menu item for selecting the sort order of a collection</extracomment>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
<message>
|
|
|
|
|
<source>Empty collection</source>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
<message>
|
|
|
|
|
<source>Add some items to this collection!</source>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
<message>
|
|
|
|
|
<source>Name</source>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
<message>
|
|
|
|
|
<source>Play count</source>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
<message>
|
|
|
|
|
<source>Date added</source>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
2020-10-01 09:56:02 +00:00
|
|
|
|
<message>
|
|
|
|
|
<source>Ascending</source>
|
|
|
|
|
<extracomment>Sort order</extracomment>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
<message>
|
|
|
|
|
<source>Descending</source>
|
|
|
|
|
<extracomment>Sort order</extracomment>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
2023-12-23 14:06:36 +00:00
|
|
|
|
<message>
|
|
|
|
|
<source>Sailfin</source>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
2020-09-27 14:54:45 +00:00
|
|
|
|
</context>
|
2020-09-15 14:53:13 +00:00
|
|
|
|
<context>
|
2023-12-23 14:06:36 +00:00
|
|
|
|
<name>DebugPage</name>
|
2020-09-15 14:53:13 +00:00
|
|
|
|
<message>
|
2023-12-23 14:06:36 +00:00
|
|
|
|
<source>Debug information</source>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
<message>
|
|
|
|
|
<source>Show debug information</source>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
<message>
|
|
|
|
|
<source>Websocket</source>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
<message>
|
|
|
|
|
<source>Connection state</source>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
<message>
|
|
|
|
|
<source>Unconnected</source>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
<message>
|
|
|
|
|
<source>%1 (%2)</source>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
<message>
|
|
|
|
|
<source>Device profile</source>
|
2020-09-26 00:51:37 +00:00
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
</context>
|
2020-09-26 21:29:45 +00:00
|
|
|
|
<context>
|
Restructured the way item "details" are loaded
Previously, Items were displayed in one page, named DetailPage.qml.
This page then would load a qml component, based on the page type. It
also contained some components common for each detail page, like
displaying the name of the item. This construction had as downside that
modifying the page properties, adding a pulley menu or basing the page
around a SilicaListview was not possible. So I already had created some
other pages.
The new construction uses a base page, named BaseDetailPage which does
set some common properties and handle the loading of the items, so that
that part does not have to be duplicated. Displaying the name of an item
was a very trivial thing to do, so duplicating that part across files
was not a problem. Anyway, the rest of the pages are now seperate, but
all have BaseDetailsPage as the root, so they can use the common
functionality by that page. Those subpages now can be based around
GridViews, Carrousels, have pully menus and so on. To determine to which
page to go to, based on the content type, a function named getPageUrl
has been added to Utils.js, which takes a content type as argument and
gives the page url back.
2020-09-29 00:15:50 +00:00
|
|
|
|
<name>EpisodePage</name>
|
2020-09-26 00:51:37 +00:00
|
|
|
|
<message>
|
2020-10-01 09:56:02 +00:00
|
|
|
|
<source>Episode %1–%2 | %3</source>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
<message>
|
|
|
|
|
<source>Episode %1 | %2</source>
|
2020-09-27 20:41:35 +00:00
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
<message>
|
2020-10-01 09:56:02 +00:00
|
|
|
|
<source>Overview</source>
|
2020-09-15 14:53:13 +00:00
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
2020-10-01 19:45:34 +00:00
|
|
|
|
<message>
|
|
|
|
|
<source>No overview available</source>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
2020-09-15 14:53:13 +00:00
|
|
|
|
</context>
|
2020-09-25 15:14:44 +00:00
|
|
|
|
<context>
|
Restructured the way item "details" are loaded
Previously, Items were displayed in one page, named DetailPage.qml.
This page then would load a qml component, based on the page type. It
also contained some components common for each detail page, like
displaying the name of the item. This construction had as downside that
modifying the page properties, adding a pulley menu or basing the page
around a SilicaListview was not possible. So I already had created some
other pages.
The new construction uses a base page, named BaseDetailPage which does
set some common properties and handle the loading of the items, so that
that part does not have to be duplicated. Displaying the name of an item
was a very trivial thing to do, so duplicating that part across files
was not a problem. Anyway, the rest of the pages are now seperate, but
all have BaseDetailsPage as the root, so they can use the common
functionality by that page. Those subpages now can be based around
GridViews, Carrousels, have pully menus and so on. To determine to which
page to go to, based on the content type, a function named getPageUrl
has been added to Utils.js, which takes a content type as argument and
gives the page url back.
2020-09-29 00:15:50 +00:00
|
|
|
|
<name>FilmPage</name>
|
2020-09-25 15:14:44 +00:00
|
|
|
|
<message>
|
|
|
|
|
<source>Released: %1 — Run time: %2</source>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
2020-10-01 09:56:02 +00:00
|
|
|
|
<message>
|
|
|
|
|
<source>Overview</source>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
2020-09-25 15:14:44 +00:00
|
|
|
|
</context>
|
2020-09-15 14:53:13 +00:00
|
|
|
|
<context>
|
|
|
|
|
<name>LegalPage</name>
|
|
|
|
|
<message>
|
|
|
|
|
<source>Legal</source>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
<message>
|
2020-09-25 15:14:44 +00:00
|
|
|
|
<source>This program contains small snippets of code taken from <a href="%1">%2</a>, which is licensed under the %3 license:</source>
|
2020-09-15 14:53:13 +00:00
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
<message>
|
2020-09-25 15:14:44 +00:00
|
|
|
|
<source>Sailfin contains code taken from other projects. Without them, Sailfin would not be possible!</source>
|
2020-09-15 14:53:13 +00:00
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
</context>
|
|
|
|
|
<context>
|
|
|
|
|
<name>LoginDialog</name>
|
|
|
|
|
<message>
|
|
|
|
|
<source>Logging in as %1</source>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
<message>
|
|
|
|
|
<source>Login</source>
|
2020-09-26 22:42:20 +00:00
|
|
|
|
<extracomment>Dialog action</extracomment>
|
2020-09-15 14:53:13 +00:00
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
<message>
|
|
|
|
|
<source>Credentials</source>
|
2020-09-26 22:42:20 +00:00
|
|
|
|
<extracomment>Section header for entering username and password</extracomment>
|
2020-09-15 14:53:13 +00:00
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
<message>
|
|
|
|
|
<source>Username</source>
|
2020-09-26 22:42:20 +00:00
|
|
|
|
<extracomment>Label placeholder for username field</extracomment>
|
2020-09-15 14:53:13 +00:00
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
<message>
|
|
|
|
|
<source>Password</source>
|
2020-09-26 22:42:20 +00:00
|
|
|
|
<extracomment>Label placeholder for password field</extracomment>
|
2020-09-15 14:53:13 +00:00
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
<message>
|
2020-09-26 22:42:20 +00:00
|
|
|
|
<source>Login message</source>
|
|
|
|
|
<extracomment>Message shown on login, configured by the server owner. Some form of a MOTD</extracomment>
|
2020-09-15 14:53:13 +00:00
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
<message>
|
2020-09-26 22:42:20 +00:00
|
|
|
|
<source>Invalid username or password</source>
|
2020-09-15 14:53:13 +00:00
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
</context>
|
|
|
|
|
<context>
|
|
|
|
|
<name>MainPage</name>
|
|
|
|
|
<message>
|
2020-09-26 21:29:45 +00:00
|
|
|
|
<source>Resume watching</source>
|
2020-09-15 14:53:13 +00:00
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
<message>
|
2020-09-26 21:29:45 +00:00
|
|
|
|
<source>Next up</source>
|
2020-09-26 00:51:37 +00:00
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
<message>
|
2020-09-26 21:29:45 +00:00
|
|
|
|
<source>Settings</source>
|
2023-12-23 14:06:36 +00:00
|
|
|
|
<extracomment>Pulley menu item: navigate to application settings page</extracomment>
|
2020-09-26 21:29:45 +00:00
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
<message>
|
|
|
|
|
<source>Network error</source>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
<message>
|
2023-12-23 14:06:36 +00:00
|
|
|
|
<source>Reload</source>
|
|
|
|
|
<extracomment>Pulley menu item: reload items on page</extracomment>
|
2020-09-26 21:29:45 +00:00
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
<message>
|
2023-12-23 14:06:36 +00:00
|
|
|
|
<source>Pull down to retry again</source>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
</context>
|
|
|
|
|
<context>
|
|
|
|
|
<name>MusicAlbumPage</name>
|
|
|
|
|
<message>
|
|
|
|
|
<source>%1
|
|
|
|
|
%2 songs | %3 | %4</source>
|
|
|
|
|
<extracomment>Short description of the album: %1 -> album artist, %2 -> amount of songs, %3 -> duration, %4 -> release year</extracomment>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
<message>
|
|
|
|
|
<source>Unknown year</source>
|
|
|
|
|
<extracomment>Unknown album release year</extracomment>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
<message>
|
|
|
|
|
<source>Playlist
|
|
|
|
|
%1 songs | %2</source>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
<message>
|
|
|
|
|
<source>Disc %1</source>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
</context>
|
|
|
|
|
<context>
|
|
|
|
|
<name>MusicArtistPage</name>
|
|
|
|
|
<message>
|
|
|
|
|
<source>%1 songs | %2 albums</source>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
<message>
|
|
|
|
|
<source>Discography</source>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
<message>
|
|
|
|
|
<source>Discography of %1</source>
|
|
|
|
|
<extracomment>Page title for the page with an overview of all albums, eps and singles by a specific artist</extracomment>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
<message>
|
|
|
|
|
<source>Appears on</source>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
<message>
|
|
|
|
|
<source>%1 appears on</source>
|
|
|
|
|
<extracomment>Page title for the page with an overview of all albums a specific artist appears on</extracomment>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
</context>
|
|
|
|
|
<context>
|
|
|
|
|
<name>MusicLibraryPage</name>
|
|
|
|
|
<message>
|
|
|
|
|
<source>Recently added</source>
|
|
|
|
|
<extracomment>Header on music library: Recently added music albums</extracomment>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
<message>
|
|
|
|
|
<source>Latest media</source>
|
|
|
|
|
<extracomment>Page title for the list of all albums within the music library</extracomment>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
<message>
|
|
|
|
|
<source>Albums</source>
|
|
|
|
|
<extracomment>Page title for the list of all albums within the music library</extracomment>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
<message>
|
|
|
|
|
<source>Playlists</source>
|
|
|
|
|
<extracomment>Page title for the list of all playlists within the music library</extracomment>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
<message>
|
|
|
|
|
<source>Artists</source>
|
|
|
|
|
<extracomment>Header for music artists
|
|
|
|
|
----------
|
|
|
|
|
Page title for the list of all artists within the music library</extracomment>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
</context>
|
|
|
|
|
<context>
|
|
|
|
|
<name>PlayQueue</name>
|
|
|
|
|
<message>
|
|
|
|
|
<source>Queue</source>
|
|
|
|
|
<extracomment>Now playing page queue section header</extracomment>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
<message>
|
|
|
|
|
<source>Playlist</source>
|
|
|
|
|
<extracomment>Now playing page playlist section header</extracomment>
|
2020-09-15 14:53:13 +00:00
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
2020-10-04 21:03:58 +00:00
|
|
|
|
<message>
|
2023-12-23 14:06:36 +00:00
|
|
|
|
<source>Unknown section: %1</source>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
</context>
|
|
|
|
|
<context>
|
|
|
|
|
<name>PlaybackBar</name>
|
|
|
|
|
<message>
|
|
|
|
|
<source>No media selected</source>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
<message>
|
|
|
|
|
<source>Play some media!</source>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
<message>
|
|
|
|
|
<source>No audio</source>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
<message>
|
|
|
|
|
<source>Shuffle not yet implemented</source>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
<message>
|
|
|
|
|
<source>Stop</source>
|
|
|
|
|
<extracomment>Pulley menu item: stops playback of music</extracomment>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
</context>
|
|
|
|
|
<context>
|
|
|
|
|
<name>PosterCover</name>
|
|
|
|
|
<message>
|
|
|
|
|
<source>%1/%2</source>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
</context>
|
|
|
|
|
<context>
|
|
|
|
|
<name>QObject</name>
|
|
|
|
|
<message>
|
|
|
|
|
<source>Sailfin</source>
|
|
|
|
|
<extracomment>Application display name</extracomment>
|
2020-10-04 21:03:58 +00:00
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
2020-09-15 14:53:13 +00:00
|
|
|
|
</context>
|
|
|
|
|
<context>
|
Restructured the way item "details" are loaded
Previously, Items were displayed in one page, named DetailPage.qml.
This page then would load a qml component, based on the page type. It
also contained some components common for each detail page, like
displaying the name of the item. This construction had as downside that
modifying the page properties, adding a pulley menu or basing the page
around a SilicaListview was not possible. So I already had created some
other pages.
The new construction uses a base page, named BaseDetailPage which does
set some common properties and handle the loading of the items, so that
that part does not have to be duplicated. Displaying the name of an item
was a very trivial thing to do, so duplicating that part across files
was not a problem. Anyway, the rest of the pages are now seperate, but
all have BaseDetailsPage as the root, so they can use the common
functionality by that page. Those subpages now can be based around
GridViews, Carrousels, have pully menus and so on. To determine to which
page to go to, based on the content type, a function named getPageUrl
has been added to Utils.js, which takes a content type as argument and
gives the page url back.
2020-09-29 00:15:50 +00:00
|
|
|
|
<name>SeasonPage</name>
|
2020-09-15 14:53:13 +00:00
|
|
|
|
<message>
|
2020-09-26 00:51:37 +00:00
|
|
|
|
<source>No overview available</source>
|
|
|
|
|
<extracomment>No overview/summary text of an episode available</extracomment>
|
2020-09-15 14:53:13 +00:00
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
2020-09-26 00:51:37 +00:00
|
|
|
|
</context>
|
|
|
|
|
<context>
|
Restructured the way item "details" are loaded
Previously, Items were displayed in one page, named DetailPage.qml.
This page then would load a qml component, based on the page type. It
also contained some components common for each detail page, like
displaying the name of the item. This construction had as downside that
modifying the page properties, adding a pulley menu or basing the page
around a SilicaListview was not possible. So I already had created some
other pages.
The new construction uses a base page, named BaseDetailPage which does
set some common properties and handle the loading of the items, so that
that part does not have to be duplicated. Displaying the name of an item
was a very trivial thing to do, so duplicating that part across files
was not a problem. Anyway, the rest of the pages are now seperate, but
all have BaseDetailsPage as the root, so they can use the common
functionality by that page. Those subpages now can be based around
GridViews, Carrousels, have pully menus and so on. To determine to which
page to go to, based on the content type, a function named getPageUrl
has been added to Utils.js, which takes a content type as argument and
gives the page url back.
2020-09-29 00:15:50 +00:00
|
|
|
|
<name>SeriesPage</name>
|
2020-09-15 14:53:13 +00:00
|
|
|
|
<message>
|
2020-09-26 00:51:37 +00:00
|
|
|
|
<source>Seasons</source>
|
|
|
|
|
<extracomment>Seasons of a (TV) show</extracomment>
|
2020-09-15 14:53:13 +00:00
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
2020-09-26 21:29:45 +00:00
|
|
|
|
</context>
|
|
|
|
|
<context>
|
|
|
|
|
<name>SettingsPage</name>
|
|
|
|
|
<message>
|
|
|
|
|
<source>Settings</source>
|
|
|
|
|
<extracomment>Header of Settings page</extracomment>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
<message>
|
|
|
|
|
<source>Other</source>
|
2023-12-23 14:06:36 +00:00
|
|
|
|
<extracomment>Other settings menu item</extracomment>
|
2020-09-26 21:29:45 +00:00
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
<message>
|
|
|
|
|
<source>About Sailfin</source>
|
2023-12-23 14:06:36 +00:00
|
|
|
|
<extracomment>About Sailfin settings menu itemy</extracomment>
|
|
|
|
|
<translation type="unfinished">About Sailfin1</translation>
|
2020-09-26 21:29:45 +00:00
|
|
|
|
</message>
|
|
|
|
|
<message>
|
|
|
|
|
<source>Session</source>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
<message>
|
|
|
|
|
<source>Log out</source>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
2020-09-26 22:42:20 +00:00
|
|
|
|
<message>
|
|
|
|
|
<source>Logging out</source>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
2023-12-23 14:06:36 +00:00
|
|
|
|
<message>
|
|
|
|
|
<source>Streaming settings</source>
|
|
|
|
|
<extracomment>Settings list item for settings related to streaming</extracomment>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
<message>
|
|
|
|
|
<source>Debug information</source>
|
|
|
|
|
<extracomment>Debug information settings menu itemy</extracomment>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
</context>
|
|
|
|
|
<context>
|
|
|
|
|
<name>SongDelegate</name>
|
|
|
|
|
<message>
|
|
|
|
|
<source>Go to %1</source>
|
|
|
|
|
<extracomment>Context menu item for navigating to the artist of the selected track</extracomment>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
<message>
|
|
|
|
|
<source>Go to artists</source>
|
|
|
|
|
<extracomment>Context menu item for navigating to one of the artists of the selected track (opens submenu)</extracomment>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
</context>
|
|
|
|
|
<context>
|
|
|
|
|
<name>StreamingPage</name>
|
|
|
|
|
<message>
|
|
|
|
|
<source>Streaming settings</source>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
<message>
|
|
|
|
|
<source>Allow transcoding</source>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
<message>
|
|
|
|
|
<source>If enabled, Sailfin may request the Jellyfin server to transcode media to a more suitable media format for this device. It is recommended to leave this enabled unless your server is weak.</source>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
<message>
|
|
|
|
|
<source>%1 mbps</source>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
<message>
|
|
|
|
|
<source>Maximum streaming bitrate</source>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
2020-09-15 14:53:13 +00:00
|
|
|
|
</context>
|
2020-09-25 15:14:44 +00:00
|
|
|
|
<context>
|
Restructured the way item "details" are loaded
Previously, Items were displayed in one page, named DetailPage.qml.
This page then would load a qml component, based on the page type. It
also contained some components common for each detail page, like
displaying the name of the item. This construction had as downside that
modifying the page properties, adding a pulley menu or basing the page
around a SilicaListview was not possible. So I already had created some
other pages.
The new construction uses a base page, named BaseDetailPage which does
set some common properties and handle the loading of the items, so that
that part does not have to be duplicated. Displaying the name of an item
was a very trivial thing to do, so duplicating that part across files
was not a problem. Anyway, the rest of the pages are now seperate, but
all have BaseDetailsPage as the root, so they can use the common
functionality by that page. Those subpages now can be based around
GridViews, Carrousels, have pully menus and so on. To determine to which
page to go to, based on the content type, a function named getPageUrl
has been added to Utils.js, which takes a content type as argument and
gives the page url back.
2020-09-29 00:15:50 +00:00
|
|
|
|
<name>UnsupportedPage</name>
|
2020-09-25 15:14:44 +00:00
|
|
|
|
<message>
|
Restructured the way item "details" are loaded
Previously, Items were displayed in one page, named DetailPage.qml.
This page then would load a qml component, based on the page type. It
also contained some components common for each detail page, like
displaying the name of the item. This construction had as downside that
modifying the page properties, adding a pulley menu or basing the page
around a SilicaListview was not possible. So I already had created some
other pages.
The new construction uses a base page, named BaseDetailPage which does
set some common properties and handle the loading of the items, so that
that part does not have to be duplicated. Displaying the name of an item
was a very trivial thing to do, so duplicating that part across files
was not a problem. Anyway, the rest of the pages are now seperate, but
all have BaseDetailsPage as the root, so they can use the common
functionality by that page. Those subpages now can be based around
GridViews, Carrousels, have pully menus and so on. To determine to which
page to go to, based on the content type, a function named getPageUrl
has been added to Utils.js, which takes a content type as argument and
gives the page url back.
2020-09-29 00:15:50 +00:00
|
|
|
|
<source>Item type (%1) unsupported</source>
|
2020-09-25 15:14:44 +00:00
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
<message>
|
2023-12-23 14:06:36 +00:00
|
|
|
|
<source>Fallback page for %2 not found either
|
|
|
|
|
This is still an alpha version :)</source>
|
2020-09-25 15:14:44 +00:00
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
</context>
|
2020-09-15 14:53:13 +00:00
|
|
|
|
<context>
|
|
|
|
|
<name>UserGridDelegate</name>
|
|
|
|
|
<message>
|
|
|
|
|
<source>Other account</source>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
</context>
|
2020-09-27 15:59:11 +00:00
|
|
|
|
<context>
|
|
|
|
|
<name>VideoError</name>
|
|
|
|
|
<message>
|
|
|
|
|
<source>Resource allocation error</source>
|
|
|
|
|
<extracomment>Video playback error: out of resources</extracomment>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
<message>
|
|
|
|
|
<source>Video format unsupported</source>
|
|
|
|
|
<extracomment>Video playback error: unsupported format/codec</extracomment>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
<message>
|
|
|
|
|
<source>Network error</source>
|
|
|
|
|
<extracomment>Video playback error: network error</extracomment>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
<message>
|
|
|
|
|
<source>Access denied</source>
|
|
|
|
|
<extracomment>Video playback error: access denied</extracomment>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
<message>
|
|
|
|
|
<source>Media service missing</source>
|
|
|
|
|
<extracomment>Video playback error: the media cannot be played because the media service could not be instantiated.</extracomment>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
2020-09-27 18:38:33 +00:00
|
|
|
|
<message>
|
|
|
|
|
<source>Retry</source>
|
|
|
|
|
<extracomment>Button to retry loading a video after a failure</extracomment>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
2020-10-01 19:45:34 +00:00
|
|
|
|
<message>
|
|
|
|
|
<source>No error</source>
|
|
|
|
|
<extracomment>Just to be complete if the application shows a video playback error when there's no error.</extracomment>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
2023-12-23 14:06:36 +00:00
|
|
|
|
<message>
|
|
|
|
|
<source>Hide</source>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
2020-09-27 15:59:11 +00:00
|
|
|
|
</context>
|
2020-10-01 09:56:02 +00:00
|
|
|
|
<context>
|
|
|
|
|
<name>VideoPage</name>
|
|
|
|
|
<message>
|
|
|
|
|
<source>Run time: %2</source>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
</context>
|
2020-09-25 15:14:44 +00:00
|
|
|
|
<context>
|
|
|
|
|
<name>VideoTrackSelector</name>
|
|
|
|
|
<message>
|
|
|
|
|
<source>Audio track</source>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
<message>
|
|
|
|
|
<source>Subtitle track</source>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
<message>
|
|
|
|
|
<source>Off</source>
|
|
|
|
|
<extracomment>Value in ComboBox to disable subtitles</extracomment>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
2023-12-23 14:06:36 +00:00
|
|
|
|
<message>
|
|
|
|
|
<source>Video track</source>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
|
|
|
|
</context>
|
|
|
|
|
<context>
|
|
|
|
|
<name>harbour-sailfin</name>
|
|
|
|
|
<message>
|
|
|
|
|
<source>Sailfin</source>
|
|
|
|
|
<extracomment>The application name for the notification</extracomment>
|
|
|
|
|
<translation type="unfinished"></translation>
|
|
|
|
|
</message>
|
2020-09-25 15:14:44 +00:00
|
|
|
|
</context>
|
2020-09-15 14:53:13 +00:00
|
|
|
|
</TS>
|