1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00

update translations

This commit is contained in:
Luke Pulverenti 2014-06-07 15:46:24 -04:00
parent 658b824d5a
commit c52720b994
14 changed files with 109 additions and 130 deletions

View file

@ -210,7 +210,7 @@
background-image: url(images/items/folders/home.png); background-image: url(images/items/folders/home.png);
} }
.tvshowsViewMenu { .tvshowsViewMenu, .livetvViewMenu {
background-image: url(images/items/folders/tv.png); background-image: url(images/items/folders/tv.png);
} }

View file

@ -70,6 +70,10 @@
max-width: 95%; max-width: 95%;
} }
.flyoutNotification:last-child {
border-bottom: 1px solid #ccc;
}
.notificationName { .notificationName {
font-weight: bold; font-weight: bold;
color: #555; color: #555;
@ -88,12 +92,12 @@
} }
.notificationsList { .notificationsList {
border-bottom: 1px solid #ccc; border-bottom: 1px solid #ddd;
} }
.notificationsList .flyoutNotification { .notificationsList .flyoutNotification {
border-left: 1px solid #ccc; border-left: 1px solid #ddd;
border-right: 1px solid #ccc; border-right: 1px solid #ddd;
} }
.imgNotification, .imgNotificationInner { .imgNotification, .imgNotificationInner {

View file

@ -145,8 +145,8 @@
.myLibraryPosterItem .posterItemImage { .myLibraryPosterItem .posterItemImage {
height: 34px; height: 34px;
background-position: 12px center; background-position: 9px center;
background-size: 20px 20px; background-size: 14px 14px;
background-color: rgba(51, 136, 204, 0.7); background-color: rgba(51, 136, 204, 0.7);
background-color: rgba(82, 181, 75, 0.7); background-color: rgba(82, 181, 75, 0.7);
} }
@ -154,9 +154,9 @@
.myLibraryPosterItem .posterItemDefaultText { .myLibraryPosterItem .posterItemDefaultText {
top: 0; top: 0;
left: 0; left: 0;
line-height: 36px; line-height: 34px;
text-align: left; text-align: left;
padding: 0 0 0 43px; padding: 0 0 0 34px;
} }
.moviesPosterItem .posterItemImage, .trailersPosterItem .posterItemImage { .moviesPosterItem .posterItemImage, .trailersPosterItem .posterItemImage {

View file

@ -29,6 +29,7 @@
<option value="latestmedia">${OptionLatestMedia}</option> <option value="latestmedia">${OptionLatestMedia}</option>
<option value="librarybuttons">${OptionLibraryButtons}</option> <option value="librarybuttons">${OptionLibraryButtons}</option>
<option value="librarytiles">${OptionLibraryTiles}</option> <option value="librarytiles">${OptionLibraryTiles}</option>
<option value="smalllibrarytiles">${OptionSmallLibraryTiles}</option>
<option value="resume">${OptionResumablemedia}</option> <option value="resume">${OptionResumablemedia}</option>
</select> </select>
</li> </li>
@ -39,6 +40,7 @@
<option value="latestmedia">${OptionLatestMedia}</option> <option value="latestmedia">${OptionLatestMedia}</option>
<option value="librarybuttons">${OptionLibraryButtons}</option> <option value="librarybuttons">${OptionLibraryButtons}</option>
<option value="librarytiles">${OptionLibraryTiles}</option> <option value="librarytiles">${OptionLibraryTiles}</option>
<option value="smalllibrarytiles">${OptionSmallLibraryTiles}</option>
<option value="resume">${OptionResumablemedia}</option> <option value="resume">${OptionResumablemedia}</option>
<option value="none">${OptionNone}</option> <option value="none">${OptionNone}</option>
</select> </select>
@ -50,6 +52,7 @@
<option value="latestmedia">${OptionLatestMedia}</option> <option value="latestmedia">${OptionLatestMedia}</option>
<option value="librarybuttons">${OptionLibraryButtons}</option> <option value="librarybuttons">${OptionLibraryButtons}</option>
<option value="librarytiles">${OptionLibraryTiles}</option> <option value="librarytiles">${OptionLibraryTiles}</option>
<option value="smalllibrarytiles">${OptionSmallLibraryTiles}</option>
<option value="resume">${OptionResumablemedia}</option> <option value="resume">${OptionResumablemedia}</option>
<option value="none">${OptionNone}</option> <option value="none">${OptionNone}</option>
</select> </select>

View file

@ -236,15 +236,6 @@
$('.libraryTree', page).on('itemclicked', function (event, data) { $('.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) { if (data.id != currentItem.Id) {
MetadataEditor.currentItemId = data.id; MetadataEditor.currentItemId = data.id;

View file

@ -545,10 +545,6 @@
$('.libraryTree', page).on('itemclicked', function (event, data) { $('.libraryTree', page).on('itemclicked', function (event, data) {
if (data.itemType == "livetvservice") {
return;
}
if (data.id != currentItem.Id) { if (data.id != currentItem.Id) {
MetadataEditor.currentItemId = data.id; MetadataEditor.currentItemId = data.id;

View file

@ -1250,10 +1250,6 @@
$('.libraryTree', page).on('itemclicked', function (event, data) { $('.libraryTree', page).on('itemclicked', function (event, data) {
if (data.itemType == "livetvservice") {
return;
}
if (data.id != currentItem.Id) { if (data.id != currentItem.Id) {
MetadataEditor.currentItemId = data.id; MetadataEditor.currentItemId = data.id;

View file

@ -292,10 +292,6 @@
$('.libraryTree', page).on('itemclicked', function (event, data) { $('.libraryTree', page).on('itemclicked', function (event, data) {
if (data.itemType == "livetvservice") {
return;
}
if (data.id != currentItem.Id) { if (data.id != currentItem.Id) {
MetadataEditor.currentItemId = data.id; MetadataEditor.currentItemId = data.id;

View file

@ -76,25 +76,17 @@
function loadChildrenOfRootNode(page, callback, openItems, selectedId) { function loadChildrenOfRootNode(page, callback, openItems, selectedId) {
var promise1 = $.getJSON(ApiClient.getUrl("Library/MediaFolders"));
var promise2 = ApiClient.getLiveTvInfo(); var promise2 = ApiClient.getLiveTvInfo();
$.when(promise1, promise2).done(function (response1, response2) { $.when(promise2).done(function (response2) {
var mediaFolders = response1[0].Items; var liveTvInfo = response2;
var liveTvInfo = response2[0];
var nodes = []; var nodes = [];
var i, length; var i, length;
for (i = 0, length = mediaFolders.length; i < length; i++) { nodes.push({ attr: { id: 'MediaFolders', rel: 'folder', itemtype: 'mediafolders' }, data: 'Media Folders', state: 'open' });
var state = openItems.indexOf(mediaFolders[i].Id) == -1 ? 'closed' : 'open';
nodes.push(getNode(mediaFolders[i], state));
}
for (i = 0, length = liveTvInfo.Services.length; i < length; i++) { 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) { function loadNode(page, node, openItems, selectedId, currentUser, callback) {
if (node == '-1') { if (node == '-1') {
@ -160,6 +170,12 @@
return; return;
} }
if (itemtype == 'mediafolders') {
loadMediaFolders(id, openItems, callback);
return;
}
var query = { var query = {
ParentId: id, ParentId: id,
Fields: 'Settings' Fields: 'Settings'
@ -240,7 +256,9 @@
itemType: data.rslt.obj.attr("itemtype") itemType: data.rslt.obj.attr("itemtype")
}; };
if (eventData.itemType != 'livetvservice' && eventData.itemType != 'mediafolders') {
$(this).trigger('itemclicked', [eventData]); $(this).trigger('itemclicked', [eventData]);
}
}); });
} }

View file

@ -1,5 +1,19 @@
(function ($, document, apiClient) { (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) { function createMediaLinks(options) {
var html = ""; var html = "";
@ -102,44 +116,7 @@
function loadlibraryButtons(elem, userId, index) { function loadlibraryButtons(elem, userId, index) {
var promise1 = ApiClient.getUserViews(userId); getUserViews(userId).done(function (items) {
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'
});
}
var html = '<br/>'; var html = '<br/>';
@ -148,7 +125,7 @@
} }
html += '<div>'; html += '<div>';
html += createMediaLinks({ html += createMediaLinks({
items: result.Items, items: items,
shape: 'myLibrary', shape: 'myLibrary',
showTitle: true, showTitle: true,
centerText: 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 = ''; var html = '';
if (result.Items.length) { if (items.length) {
html += '<h1 class="listHeader">' + Globalize.translate('HeaderMyLibrary') + '</h1>'; html += '<h1 class="listHeader">' + Globalize.translate('HeaderMyLibrary') + '</h1>';
html += '<div>'; html += '<div>';
html += LibraryBrowser.getPosterViewHtml({ html += LibraryBrowser.getPosterViewHtml({
items: result.Items, items: items,
shape: 'backdrop', shape: shape,
showTitle: true, showTitle: true,
centerText: true, centerText: true,
lazy: true lazy: true
@ -279,7 +256,10 @@
loadRecentlyAdded(elem, userId); loadRecentlyAdded(elem, userId);
} }
else if (section == 'librarytiles') { else if (section == 'librarytiles') {
loadLibraryTiles(elem, userId); loadLibraryTiles(elem, userId, 'backdrop');
}
else if (section == 'smalllibrarytiles') {
loadLibraryTiles(elem, userId, 'smallBackdrop');
} }
else if (section == 'resume') { else if (section == 'resume') {
loadResume(elem, userId); loadResume(elem, userId);

View file

@ -365,6 +365,18 @@
// Handle search hints // Handle search hints
var id = item.Id || item.ItemId; 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') { if (item.CollectionType == 'boxsets' || item.Type == 'ManualCollectionsFolder') {
return 'collections.html?topParentId=' + item.Id; return 'collections.html?topParentId=' + item.Id;
} }

View file

@ -64,15 +64,9 @@
html += '<div class="libraryMenuOptions">'; html += '<div class="libraryMenuOptions">';
html += '</div>'; 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="adminMenuOptions">';
html += '<div class="libraryMenuDivider"></div>'; 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 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 += '<a class="viewMenuLink viewMenuTextLink lnkMediaFolder reportsViewMenu" data-itemid="reports" href="reports.html">Reports</a>';
html += '</div>'; html += '</div>';
@ -105,7 +99,16 @@
var viewMenuCssClass = (i.CollectionType || 'general') + 'ViewMenu'; 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(''); }).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) { Dashboard.getCurrentUser().done(function (user) {
if (user.Configuration.IsAdministrator) { if (user.Configuration.IsAdministrator) {
@ -378,6 +356,7 @@ $.fn.createHoverTouch = function () {
return $(this).on('mouseenter', function () { return $(this).on('mouseenter', function () {
if (preventHover === true) { if (preventHover === true) {
preventHover = false;
return; return;
} }

View file

@ -257,6 +257,10 @@
return false; return false;
} }
if (videoStream && videoStream.Profile == 'High') {
return false;
}
var extension = (mediaSource.Container || '').toLowerCase(); var extension = (mediaSource.Container || '').toLowerCase();
if (extension == 'm4v') { if (extension == 'm4v') {

View file

@ -39,14 +39,14 @@
html += '<h3 style="margin: .5em 0;">Notifications</h3>'; html += '<h3 style="margin: .5em 0;">Notifications</h3>';
html += '</div>'; html += '</div>';
html += '<div data-role="content" style="padding: 0;">'; html += '<div style="padding: 0;">';
html += '<p class="notificationsFlyoutlist">Loading...'; html += '<p class="notificationsFlyoutlist">Loading...';
html += '</p>'; 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 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>'; html += '</div>';