mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
update translations
This commit is contained in:
parent
658b824d5a
commit
c52720b994
14 changed files with 109 additions and 130 deletions
|
@ -210,7 +210,7 @@
|
|||
background-image: url(images/items/folders/home.png);
|
||||
}
|
||||
|
||||
.tvshowsViewMenu {
|
||||
.tvshowsViewMenu, .livetvViewMenu {
|
||||
background-image: url(images/items/folders/tv.png);
|
||||
}
|
||||
|
||||
|
|
|
@ -70,6 +70,10 @@
|
|||
max-width: 95%;
|
||||
}
|
||||
|
||||
.flyoutNotification:last-child {
|
||||
border-bottom: 1px solid #ccc;
|
||||
}
|
||||
|
||||
.notificationName {
|
||||
font-weight: bold;
|
||||
color: #555;
|
||||
|
@ -88,13 +92,13 @@
|
|||
}
|
||||
|
||||
.notificationsList {
|
||||
border-bottom: 1px solid #ccc;
|
||||
border-bottom: 1px solid #ddd;
|
||||
}
|
||||
|
||||
.notificationsList .flyoutNotification {
|
||||
border-left: 1px solid #ccc;
|
||||
border-right: 1px solid #ccc;
|
||||
}
|
||||
.notificationsList .flyoutNotification {
|
||||
border-left: 1px solid #ddd;
|
||||
border-right: 1px solid #ddd;
|
||||
}
|
||||
|
||||
.imgNotification, .imgNotificationInner {
|
||||
width: 40px;
|
||||
|
|
|
@ -145,8 +145,8 @@
|
|||
|
||||
.myLibraryPosterItem .posterItemImage {
|
||||
height: 34px;
|
||||
background-position: 12px center;
|
||||
background-size: 20px 20px;
|
||||
background-position: 9px center;
|
||||
background-size: 14px 14px;
|
||||
background-color: rgba(51, 136, 204, 0.7);
|
||||
background-color: rgba(82, 181, 75, 0.7);
|
||||
}
|
||||
|
@ -154,9 +154,9 @@
|
|||
.myLibraryPosterItem .posterItemDefaultText {
|
||||
top: 0;
|
||||
left: 0;
|
||||
line-height: 36px;
|
||||
line-height: 34px;
|
||||
text-align: left;
|
||||
padding: 0 0 0 43px;
|
||||
padding: 0 0 0 34px;
|
||||
}
|
||||
|
||||
.moviesPosterItem .posterItemImage, .trailersPosterItem .posterItemImage {
|
||||
|
|
|
@ -29,6 +29,7 @@
|
|||
<option value="latestmedia">${OptionLatestMedia}</option>
|
||||
<option value="librarybuttons">${OptionLibraryButtons}</option>
|
||||
<option value="librarytiles">${OptionLibraryTiles}</option>
|
||||
<option value="smalllibrarytiles">${OptionSmallLibraryTiles}</option>
|
||||
<option value="resume">${OptionResumablemedia}</option>
|
||||
</select>
|
||||
</li>
|
||||
|
@ -39,6 +40,7 @@
|
|||
<option value="latestmedia">${OptionLatestMedia}</option>
|
||||
<option value="librarybuttons">${OptionLibraryButtons}</option>
|
||||
<option value="librarytiles">${OptionLibraryTiles}</option>
|
||||
<option value="smalllibrarytiles">${OptionSmallLibraryTiles}</option>
|
||||
<option value="resume">${OptionResumablemedia}</option>
|
||||
<option value="none">${OptionNone}</option>
|
||||
</select>
|
||||
|
@ -50,6 +52,7 @@
|
|||
<option value="latestmedia">${OptionLatestMedia}</option>
|
||||
<option value="librarybuttons">${OptionLibraryButtons}</option>
|
||||
<option value="librarytiles">${OptionLibraryTiles}</option>
|
||||
<option value="smalllibrarytiles">${OptionSmallLibraryTiles}</option>
|
||||
<option value="resume">${OptionResumablemedia}</option>
|
||||
<option value="none">${OptionNone}</option>
|
||||
</select>
|
||||
|
|
|
@ -236,15 +236,6 @@
|
|||
|
||||
$('.libraryTree', page).on('itemclicked', function (event, data) {
|
||||
|
||||
if (data.itemType == "libraryreport") {
|
||||
Dashboard.navigate('libraryreport.html');
|
||||
return;
|
||||
}
|
||||
|
||||
if (data.itemType == "livetvservice") {
|
||||
return;
|
||||
}
|
||||
|
||||
if (data.id != currentItem.Id) {
|
||||
|
||||
MetadataEditor.currentItemId = data.id;
|
||||
|
|
|
@ -545,10 +545,6 @@
|
|||
|
||||
$('.libraryTree', page).on('itemclicked', function (event, data) {
|
||||
|
||||
if (data.itemType == "livetvservice") {
|
||||
return;
|
||||
}
|
||||
|
||||
if (data.id != currentItem.Id) {
|
||||
|
||||
MetadataEditor.currentItemId = data.id;
|
||||
|
|
|
@ -1250,10 +1250,6 @@
|
|||
|
||||
$('.libraryTree', page).on('itemclicked', function (event, data) {
|
||||
|
||||
if (data.itemType == "livetvservice") {
|
||||
return;
|
||||
}
|
||||
|
||||
if (data.id != currentItem.Id) {
|
||||
|
||||
MetadataEditor.currentItemId = data.id;
|
||||
|
|
|
@ -292,10 +292,6 @@
|
|||
|
||||
$('.libraryTree', page).on('itemclicked', function (event, data) {
|
||||
|
||||
if (data.itemType == "livetvservice") {
|
||||
return;
|
||||
}
|
||||
|
||||
if (data.id != currentItem.Id) {
|
||||
|
||||
MetadataEditor.currentItemId = data.id;
|
||||
|
|
|
@ -76,25 +76,17 @@
|
|||
|
||||
function loadChildrenOfRootNode(page, callback, openItems, selectedId) {
|
||||
|
||||
var promise1 = $.getJSON(ApiClient.getUrl("Library/MediaFolders"));
|
||||
|
||||
var promise2 = ApiClient.getLiveTvInfo();
|
||||
|
||||
$.when(promise1, promise2).done(function (response1, response2) {
|
||||
$.when(promise2).done(function (response2) {
|
||||
|
||||
var mediaFolders = response1[0].Items;
|
||||
var liveTvInfo = response2[0];
|
||||
var liveTvInfo = response2;
|
||||
|
||||
var nodes = [];
|
||||
|
||||
var i, length;
|
||||
|
||||
for (i = 0, length = mediaFolders.length; i < length; i++) {
|
||||
|
||||
var state = openItems.indexOf(mediaFolders[i].Id) == -1 ? 'closed' : 'open';
|
||||
|
||||
nodes.push(getNode(mediaFolders[i], state));
|
||||
}
|
||||
nodes.push({ attr: { id: 'MediaFolders', rel: 'folder', itemtype: 'mediafolders' }, data: 'Media Folders', state: 'open' });
|
||||
|
||||
for (i = 0, length = liveTvInfo.Services.length; i < length; i++) {
|
||||
|
||||
|
@ -142,6 +134,24 @@
|
|||
|
||||
}
|
||||
|
||||
function loadMediaFolders(service, openItems, callback) {
|
||||
|
||||
$.getJSON(ApiClient.getUrl("Library/MediaFolders")).done(function (result) {
|
||||
|
||||
var nodes = result.Items.map(function (i) {
|
||||
|
||||
var state = openItems.indexOf(i.Id) == -1 ? 'closed' : 'open';
|
||||
|
||||
return getNode(i, state);
|
||||
|
||||
});
|
||||
|
||||
callback(nodes);
|
||||
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
function loadNode(page, node, openItems, selectedId, currentUser, callback) {
|
||||
|
||||
if (node == '-1') {
|
||||
|
@ -160,6 +170,12 @@
|
|||
return;
|
||||
}
|
||||
|
||||
if (itemtype == 'mediafolders') {
|
||||
|
||||
loadMediaFolders(id, openItems, callback);
|
||||
return;
|
||||
}
|
||||
|
||||
var query = {
|
||||
ParentId: id,
|
||||
Fields: 'Settings'
|
||||
|
@ -240,7 +256,9 @@
|
|||
itemType: data.rslt.obj.attr("itemtype")
|
||||
};
|
||||
|
||||
if (eventData.itemType != 'livetvservice' && eventData.itemType != 'mediafolders') {
|
||||
$(this).trigger('itemclicked', [eventData]);
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
|
|
|
@ -1,5 +1,19 @@
|
|||
(function ($, document, apiClient) {
|
||||
|
||||
function getUserViews(userId) {
|
||||
|
||||
var deferred = $.Deferred();
|
||||
|
||||
ApiClient.getUserViews(userId).done(function (result) {
|
||||
|
||||
var items = result.Items;
|
||||
|
||||
deferred.resolveWith(null, [items]);
|
||||
});
|
||||
|
||||
return deferred.promise();
|
||||
}
|
||||
|
||||
function createMediaLinks(options) {
|
||||
|
||||
var html = "";
|
||||
|
@ -102,44 +116,7 @@
|
|||
|
||||
function loadlibraryButtons(elem, userId, index) {
|
||||
|
||||
var promise1 = ApiClient.getUserViews(userId);
|
||||
|
||||
var promise2 = ApiClient.getLiveTvInfo();
|
||||
|
||||
var promise3 = $.getJSON(ApiClient.getUrl("Channels", {
|
||||
userId: userId,
|
||||
|
||||
// We just want the total record count
|
||||
limit: 0
|
||||
}));
|
||||
|
||||
$.when(promise1, promise2, promise3).done(function (r1, r2, r3) {
|
||||
|
||||
var result = r1[0];
|
||||
var liveTvInfo = r2[0];
|
||||
var channelResponse = r3[0];
|
||||
|
||||
if (channelResponse.TotalRecordCount) {
|
||||
|
||||
result.Items.push({
|
||||
Name: 'Channels',
|
||||
CollectionType: 'channels',
|
||||
Id: 'channels',
|
||||
url: 'channels.html'
|
||||
});
|
||||
}
|
||||
|
||||
var showLiveTv = liveTvInfo.EnabledUsers.indexOf(userId) != -1;
|
||||
|
||||
if (showLiveTv) {
|
||||
|
||||
result.Items.push({
|
||||
Name: 'Live TV',
|
||||
CollectionType: 'livetv',
|
||||
Id: 'livetv',
|
||||
url: 'livetvsuggested.html'
|
||||
});
|
||||
}
|
||||
getUserViews(userId).done(function (items) {
|
||||
|
||||
var html = '<br/>';
|
||||
|
||||
|
@ -148,7 +125,7 @@
|
|||
}
|
||||
html += '<div>';
|
||||
html += createMediaLinks({
|
||||
items: result.Items,
|
||||
items: items,
|
||||
shape: 'myLibrary',
|
||||
showTitle: true,
|
||||
centerText: true
|
||||
|
@ -202,18 +179,18 @@
|
|||
});
|
||||
}
|
||||
|
||||
function loadLibraryTiles(elem, userId) {
|
||||
function loadLibraryTiles(elem, userId, shape) {
|
||||
|
||||
ApiClient.getUserViews(userId).done(function (result) {
|
||||
getUserViews(userId).done(function (items) {
|
||||
|
||||
var html = '';
|
||||
|
||||
if (result.Items.length) {
|
||||
if (items.length) {
|
||||
html += '<h1 class="listHeader">' + Globalize.translate('HeaderMyLibrary') + '</h1>';
|
||||
html += '<div>';
|
||||
html += LibraryBrowser.getPosterViewHtml({
|
||||
items: result.Items,
|
||||
shape: 'backdrop',
|
||||
items: items,
|
||||
shape: shape,
|
||||
showTitle: true,
|
||||
centerText: true,
|
||||
lazy: true
|
||||
|
@ -250,7 +227,7 @@
|
|||
var html = '';
|
||||
|
||||
if (result.Items.length) {
|
||||
html += '<h1 class="listHeader">'+Globalize.translate('HeaderResume')+'</h1>';
|
||||
html += '<h1 class="listHeader">' + Globalize.translate('HeaderResume') + '</h1>';
|
||||
html += '<div>';
|
||||
html += LibraryBrowser.getPosterViewHtml({
|
||||
items: result.Items,
|
||||
|
@ -279,7 +256,10 @@
|
|||
loadRecentlyAdded(elem, userId);
|
||||
}
|
||||
else if (section == 'librarytiles') {
|
||||
loadLibraryTiles(elem, userId);
|
||||
loadLibraryTiles(elem, userId, 'backdrop');
|
||||
}
|
||||
else if (section == 'smalllibrarytiles') {
|
||||
loadLibraryTiles(elem, userId, 'smallBackdrop');
|
||||
}
|
||||
else if (section == 'resume') {
|
||||
loadResume(elem, userId);
|
||||
|
@ -333,7 +313,7 @@
|
|||
ApiClient.getDisplayPreferences('home', userId, 'webclient').done(function (result) {
|
||||
|
||||
result.CustomPrefs.homePageWelcomeDismissed = homePageDismissValue;
|
||||
ApiClient.updateDisplayPreferences('home', result, userId, 'webclient').done(function() {
|
||||
ApiClient.updateDisplayPreferences('home', result, userId, 'webclient').done(function () {
|
||||
|
||||
$('.welcomeMessage', page).hide();
|
||||
|
||||
|
|
|
@ -365,6 +365,18 @@
|
|||
// Handle search hints
|
||||
var id = item.Id || item.ItemId;
|
||||
|
||||
if (item.CollectionType == 'livetv') {
|
||||
return 'livetvsuggested.html';
|
||||
}
|
||||
|
||||
if (item.CollectionType == 'channels') {
|
||||
return 'channels.html';
|
||||
}
|
||||
|
||||
if (item.CollectionType == 'movies') {
|
||||
return 'movieslatest.html?topParentId=' + item.Id;
|
||||
}
|
||||
|
||||
if (item.CollectionType == 'boxsets' || item.Type == 'ManualCollectionsFolder') {
|
||||
return 'collections.html?topParentId=' + item.Id;
|
||||
}
|
||||
|
|
|
@ -64,15 +64,9 @@
|
|||
html += '<div class="libraryMenuOptions">';
|
||||
html += '</div>';
|
||||
|
||||
html += '<div class="libraryMenuDivider secondaryDivider" style="display:none;"></div>';
|
||||
|
||||
html += '<a class="viewMenuLink viewMenuTextLink lnkMediaFolder channelsViewMenu channelsMenuOption" style="display:none;" data-itemid="channels" href="channels.html">Channels</a>';
|
||||
|
||||
html += '<a class="viewMenuLink viewMenuTextLink lnkMediaFolder tvshowsViewMenu liveTvMenuOption" style="display:none;" data-itemid="livetv" href="livetvsuggested.html">Live TV</a>';
|
||||
|
||||
html += '<div class="adminMenuOptions">';
|
||||
html += '<div class="libraryMenuDivider"></div>';
|
||||
html += '<a class="viewMenuLink viewMenuTextLink lnkMediaFolder dashboardViewMenu" data-itemid="dashboard" href="dashboard.html">Dashboard</a>';
|
||||
//html += '<a class="viewMenuLink viewMenuTextLink lnkMediaFolder dashboardViewMenu" data-itemid="dashboard" href="dashboard.html">Dashboard</a>';
|
||||
html += '<a class="viewMenuLink viewMenuTextLink lnkMediaFolder editorViewMenu" data-itemid="editor" href="edititemmetadata.html">Metadata Manager</a>';
|
||||
html += '<a class="viewMenuLink viewMenuTextLink lnkMediaFolder reportsViewMenu" data-itemid="reports" href="reports.html">Reports</a>';
|
||||
html += '</div>';
|
||||
|
@ -105,7 +99,16 @@
|
|||
|
||||
var viewMenuCssClass = (i.CollectionType || 'general') + 'ViewMenu';
|
||||
|
||||
return '<a data-itemid="' + i.Id + '" class="lnkMediaFolder viewMenuLink viewMenuTextLink ' + viewMenuCssClass + '" href="' + getItemHref(i) + '">' + i.Name + '</a>';
|
||||
var itemId = i.Id;
|
||||
|
||||
if (i.CollectionType == "channels") {
|
||||
itemId = "channels";
|
||||
}
|
||||
else if (i.CollectionType == "livetv") {
|
||||
itemId = "livetv";
|
||||
}
|
||||
|
||||
return '<a data-itemid="' + itemId + '" class="lnkMediaFolder viewMenuLink viewMenuTextLink ' + viewMenuCssClass + '" href="' + getItemHref(i) + '">' + i.Name + '</a>';
|
||||
|
||||
}).join('');
|
||||
|
||||
|
@ -118,31 +121,6 @@
|
|||
});
|
||||
});
|
||||
|
||||
ApiClient.getLiveTvInfo().done(function (liveTvInfo) {
|
||||
|
||||
var showLiveTv = liveTvInfo.EnabledUsers.indexOf(userId) != -1;
|
||||
|
||||
if (showLiveTv) {
|
||||
$('.liveTvMenuOption').show();
|
||||
$('.secondaryDivider').show();
|
||||
}
|
||||
});
|
||||
|
||||
$.getJSON(ApiClient.getUrl("Channels", {
|
||||
userId: userId,
|
||||
|
||||
// We just want the total record count
|
||||
limit: 0
|
||||
|
||||
})).done(function (response) {
|
||||
|
||||
if (response.TotalRecordCount) {
|
||||
$('.channelsMenuOption').show();
|
||||
$('.secondaryDivider').show();
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
Dashboard.getCurrentUser().done(function (user) {
|
||||
|
||||
if (user.Configuration.IsAdministrator) {
|
||||
|
@ -378,6 +356,7 @@ $.fn.createHoverTouch = function () {
|
|||
return $(this).on('mouseenter', function () {
|
||||
|
||||
if (preventHover === true) {
|
||||
preventHover = false;
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -257,6 +257,10 @@
|
|||
return false;
|
||||
}
|
||||
|
||||
if (videoStream && videoStream.Profile == 'High') {
|
||||
return false;
|
||||
}
|
||||
|
||||
var extension = (mediaSource.Container || '').toLowerCase();
|
||||
|
||||
if (extension == 'm4v') {
|
||||
|
|
|
@ -39,14 +39,14 @@
|
|||
html += '<h3 style="margin: .5em 0;">Notifications</h3>';
|
||||
html += '</div>';
|
||||
|
||||
html += '<div data-role="content" style="padding: 0;">';
|
||||
html += '<div style="padding: 0;">';
|
||||
|
||||
html += '<p class="notificationsFlyoutlist">Loading...';
|
||||
|
||||
html += '</p>';
|
||||
|
||||
html += '<div class="btnNotificationListContainer"><a data-role="button" href="notificationlist.html" data-icon="action" data-mini="true">' + Globalize.translate('ButtonViewNotifications') + '</a></div>';
|
||||
html += '<div style="display:none;" class="btnMarkReadContainer"><button class="btnMarkRead" type="button" data-icon="check" data-mini="true" data-theme="b">' + Globalize.translate('ButtonMarkTheseRead') + '</button></div>';
|
||||
html += '<div style="display:none;" class="btnMarkReadContainer"><button class="btnMarkRead" type="button" data-icon="check" data-mini="true">' + Globalize.translate('ButtonMarkTheseRead') + '</button></div>';
|
||||
|
||||
|
||||
html += '</div>';
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue