update translations

This commit is contained in:
Luke Pulverenti 2014-05-09 15:43:06 -04:00
parent 301d946c14
commit 843a0eee28
26 changed files with 154 additions and 156 deletions

View File

@ -77,64 +77,64 @@
</thead>
<tbody>
<tr>
<td>Series name</td>
<td>${LabelSeriesName}</td>
<td>%sn</td>
<td>Series Name</td>
<td>${LabelSeriesName}</td>
</tr>
<tr>
<td>Series name</td>
<td>${LabelSeriesName}</td>
<td>%s.n</td>
<td>Series.Name</td>
<td>${ValueSeriesNamePeriod}</td>
</tr>
<tr>
<td>Series name</td>
<td>${LabelSeriesName}</td>
<td>%s_n</td>
<td>Series_Name</td>
<td>${ValueSeriesNameUnderscore}</td>
</tr>
<tr>
<td>Season number</td>
<td>${LabelSeasonNumber}</td>
<td>%s</td>
<td>1</td>
</tr>
<tr>
<td>Season number</td>
<td>${LabelSeasonNumber}</td>
<td>%0s</td>
<td>01</td>
</tr>
<tr>
<td>Episode number</td>
<td>${LabelEpisodeNumber}</td>
<td>%e</td>
<td>4</td>
</tr>
<tr>
<td>Episode number</td>
<td>${LabelEpisodeNumber}</td>
<td>%0e</td>
<td>04</td>
</tr>
<tr>
<td>Ending episode number</td>
<td>${LabelEndingEpisodeNumber}</td>
<td>%ed</td>
<td>5</td>
</tr>
<tr>
<td>Ending episode number</td>
<td>${LabelEndingEpisodeNumber}</td>
<td>%0ed</td>
<td>05</td>
</tr>
<tr>
<td>Episode name</td>
<td>${LabelEpisodeName}</td>
<td>%en</td>
<td>Episode Name</td>
<td>${LabelEpisodeName}</td>
</tr>
<tr>
<td>Episode name</td>
<td>${LabelEpisodeName}</td>
<td>%e.n</td>
<td>Episode.Name</td>
<td>${ValueEpisodeNamePeriod}</td>
</tr>
<tr>
<td>Episode name</td>
<td>${LabelEpisodeName}</td>
<td>%e_n</td>
<td>Episode_Name</td>
<td>${ValueEpisodeNameUnderscore}</td>
</tr>
</tbody>
</table>

View File

@ -458,7 +458,7 @@ a.itemTag:hover {
}
.libraryPanelHeader {
margin: 5px 0 25px 0;
margin: 5px 0 15px 0;
}
.libraryPanelHeader a {
@ -515,7 +515,7 @@ a.itemTag:hover {
.detailImageProgressContainer progress {
width: 100%;
margin: 0 auto;
height: 7px;
height: 6px;
}
.viewControls, .listTopPaging {

View File

@ -22,7 +22,7 @@
display: none;
}
.desktopLibraryMenuDivider {
.libraryMenuDivider {
height: 1px;
background: #333;
margin: .5em 0;
@ -74,80 +74,62 @@
.viewMenuTextLink {
display: block;
padding: .6em .5em .6em 37px!important;
padding: .6em .5em .6em 41px!important;
font-size: 15px;
font-weight: 300!important;
font-family: Roboto;
background-repeat: no-repeat;
background-size: 18px 18px;
}
.musicViewMenu {
background-image: url(images/items/folders/music.png);
background-repeat: no-repeat;
background-size: 18px 18px;
background-position: 10px 8px;
background-position: 14px 8px;
}
.tvshowsViewMenu {
background-image: url(images/items/folders/tv.png);
background-repeat: no-repeat;
background-size: 18px 18px;
background-position: 10px 8px;
background-position: 14px 8px;
}
.moviesViewMenu {
background-image: url(images/items/folders/movies.png);
background-repeat: no-repeat;
background-size: 18px 18px;
background-position: 10px center;
background-position: 14px center;
}
.gamesViewMenu {
background-image: url(images/items/folders/games.png);
background-repeat: no-repeat;
background-size: 18px 18px;
background-position: 10px 8px;
background-position: 14px 8px;
}
.channelsViewMenu {
background-image: url(images/items/folders/channels.png);
background-repeat: no-repeat;
background-size: 18px 18px;
background-position: 10px center;
background-position: 14px center;
}
.booksViewMenu {
background-image: url(images/items/folders/books.png);
background-repeat: no-repeat;
background-size: 18px 18px;
background-position: 10px center;
background-position: 14px center;
}
.musicvideosViewMenu {
background-image: url(images/items/folders/musicvideos.png);
background-repeat: no-repeat;
background-size: 18px 18px;
background-position: 10px 8px;
background-position: 14px 8px;
}
.photosViewMenu {
background-image: url(images/items/folders/photos.png);
background-repeat: no-repeat;
background-size: 18px 18px;
background-position: 10px 8px;
background-position: 14px 8px;
}
.homeVideosViewMenu {
background-image: url(images/items/folders/homevideos.png);
background-repeat: no-repeat;
background-size: 18px 18px;
background-position: 10px center;
background-position: 14px center;
}
.generalViewMenu, .boxsetsViewMenu {
background-image: url(images/items/folders/folder.png);
background-repeat: no-repeat;
background-size: 18px 18px;
background-position: 10px center;
background-position: 14px center;
}
.viewMenuSecondary {
@ -163,6 +145,10 @@
background-color: rgba(51,136,204,.8)!important;
}
.ui-panel.ui-body-b {
background-color: #181818;
}
.libraryViewNav {
height: 48px;
overflow: hidden;

View File

@ -177,7 +177,7 @@
}
.miniPosterItemProgress .itemProgressBar {
height: 8px;
height: 6px;
opacity: 1;
}

View File

@ -75,6 +75,12 @@ h1, h1 a {
font-family: Roboto;
}
.ui-loader h1 {
font-family: 'Open Sans';
font-weight: bold!important;
font-size: 18px;
}
.ui-loader h1 {
font-weight: bold;
}

View File

@ -82,7 +82,7 @@
<div class="itemBackdropContent">
<table class="detailPageContent primaryDetailPageContent">
<tr>
<td style="vertical-align: top; padding: 0 1em 0 0;">
<td style="vertical-align: top; padding: 0 .8em 0 0;">
<div class="itemImageContainer">
<div id="itemImage">
</div>

View File

@ -26,7 +26,7 @@
<div class="readOnlyContent refreshLibraryPanel hide">
<button type="button" class="btnRefresh" data-icon="refresh" data-mini="true">${ButtonScanLibrary}</button>
<progress max="100" min="0" style="width: 100%;" class="refreshProgress"></progress>
<div style="margin-top: 5px;">Last Result: <span class="lastRefreshResult"></span></div>
<div style="margin-top: 5px;">${LabelLastResult} <span class="lastRefreshResult"></span></div>
</div>
</div>

View File

@ -19,16 +19,16 @@
<div class="liveTvStatusContent" style="display: none;">
<div style="margin-top: 2.5em;">
<p>Service: <span id="activeServiceName"></span></p>
<p>Status: <span id="activeServiceStatus"></span></p>
<p>Version: <span id="activeServiceVersion"></span></p>
<p>${LabelService} <span id="activeServiceName"></span></p>
<p>${LabelStatus} <span id="activeServiceStatus"></span></p>
<p>${LabelVersion} <span id="activeServiceVersion"></span></p>
</div>
<br />
<div class="readOnlyContent refreshGuidePanel hide">
<button type="button" class="btnRefreshGuide" data-icon="refresh" data-mini="true">${ButtonRefreshGuideData}</button>
<progress max="100" min="0" style="width: 100%;" class="refreshGuideProgress"></progress>
<div style="margin-top: 5px;">Last Result: <span class="lastRefreshGuideResult"></span></div>
<div style="margin-top: 5px;">${LabelLastResult} <span class="lastRefreshGuideResult"></span></div>
</div>
<br />

View File

@ -36,7 +36,7 @@
<div data-role="controlgroup" data-type="horizontal">
<button data-icon="volume-up" data-inline="true" data-iconpos="notext" title="${ButtonVolumeUp}" class="btnCommand" data-command="VolumeUp">${ButtonVolumeUp}</button>
<button data-icon="volume-off" data-inline="true" data-iconpos="notext" title="${ButtonMute}" class="btnCommand" data-command="ToggleMute">${ButtonMute}</button>
<button data-icon="expand" data-inline="true" data-iconpos="notext" title="${ButtonFullscreen}" class="btnToggleFullscreen btnPlayStateCommand" data-command="ToggleFullscreen" style="visibility: hidden;">${ButtonFullscreen}</button>
<button data-icon="grid" data-inline="true" data-iconpos="notext" title="${ButtonOsd}" class="btnCommand" data-command="ToggleOsdMenu">${ButtonOsd}</button>
<button data-icon="expand" data-inline="true" data-iconpos="notext" title="${ButtonFullscreen}" class="btnToggleFullscreen videoButton btnPlayStateCommand" data-command="ToggleFullscreen">${ButtonFullscreen}</button>
</div>
<div data-role="controlgroup" data-type="horizontal">
@ -105,6 +105,23 @@
</div>
</div>
<div data-role="collapsible">
<h2>${HeaderTypeText}</h2>
<div style="text-align: left;">
<br />
<form class="typeTextForm">
<div>
<label for="txtTypeText">${LabelTypeText}</label>
<input class="typeTextElement" type="text" id="txtTypeText" required="required" />
</div>
<p>
<button class="typeTextElement" type="submit" data-icon="arrow-r">${ButtonSend}</button>
</p>
</form>
</div>
</div>
</div>
</div>
@ -121,6 +138,7 @@
<script type="text/javascript">
$('.sendMessageForm').off('submit', NowPlayingPage.onMessageSubmit).on('submit', NowPlayingPage.onMessageSubmit);
$('.typeTextForm').off('submit', NowPlayingPage.onSendStringSubmit).on('submit', NowPlayingPage.onSendStringSubmit);
</script>
</div>
</body>

View File

@ -11,21 +11,18 @@
<a href="plugins.html" data-role="button">${TabMyPlugins}</a>
<a href="#" data-role="button" class="ui-btn-active">${TabCatalog}</a>
</div>
<p style="margin: 2em 0;">
Types: <a data-rel="popup" data-position-to="origin" href="#freePlugins">Free</a>,
<a data-rel="popup" data-position-to="origin" href="#supporterPlugins">Supporter-Only</a>, and <a data-rel="popup" data-position-to="origin" href="#premiumPlugins">Premium</a>.
</p>
<br />
<fieldset data-role="controlgroup" data-type="horizontal">
<legend>Display plugins for:</legend>
<legend>${LabelDisplayPluginsFor}</legend>
<input type="radio" name="radioPackageTypes" class="radioPackageTypes" id="radioServer" value="Server" data-mini="true">
<label for="radioServer">Server</label>
<label for="radioServer">${TabServer}</label>
<input type="radio" name="radioPackageTypes" class="radioPackageTypes" id="radioClassic" value="MBClassic" data-mini="true">
<label for="radioClassic">MB Classic</label>
<label for="radioClassic">${PluginTabMediaBrowserClassic}</label>
<input type="radio" name="radioPackageTypes" class="radioPackageTypes" id="radopTheater" value="MBTheater" data-mini="true">
<label for="radopTheater">MB Theater</label>
<label for="radopTheater">${PluginTabMediaBrowserTheater}</label>
<input type="radio" name="radioPackageTypes" class="radioPackageTypes" id="radioOthers" value="Apps" data-mini="true">
<label for="radioOthers">Others</label>
<label for="radioOthers">${TabOtherPlugins}</label>
</fieldset>
<p style="display: none;">
@ -34,41 +31,13 @@
</p>
<br />
<div id="noPlugins" class="hide">
<div style="text-align: center; margin: 10px;">No available plugins</div>
<div style="text-align: center; margin: 10px;">${MessageNoAvailablePlugins}</div>
</div>
<div id="pluginTiles"></div>
</div>
</div>
<div data-role="popup" class="ui-content" id="freePlugins" style="max-width: 250px;">
<a href="#" data-rel="back" data-role="button" data-theme="b" data-icon="delete" data-iconpos="notext" class="ui-btn-right">Close</a>
<p>
Free plug-ins can be installed and used by anyone for free. They will appear in the catalog without any banners.<p>
</div>
<div data-role="popup" class="ui-content" id="supporterPlugins" style="max-width: 250px;">
<a href="#" data-rel="back" data-role="button" data-theme="b" data-icon="delete" data-iconpos="notext" class="ui-btn-right">Close</a>
<p>Supporter-Only plug-ins are free for anyone who is an <strong>MB3 Supporter</strong> (with a valid MB3 key who has donated the minimum amount to the overall project).</p>
<p>
Anyone can install them and enjoy a free trial period of 14 days in most instances. The trial period may commence as soon as you install the plug-in.<p>
<p>These plug-ins will appear in the catalog with a "Supporter" banner.</p>
</div>
<div data-role="popup" class="ui-content" id="premiumPlugins" style="max-width: 250px;">
<a href="#" data-rel="back" data-role="button" data-theme="b" data-icon="delete" data-iconpos="notext" class="ui-btn-right">Close</a>
<p>
Premium plug-ins are developed by third-parties and require that you be an <strong>MB3 Supporter <em>and</em> also register the plug-in with its creator.</strong>
The cost of registering these plug-ins is set for each one by its creator and all revenues go to that person.
</p>
<p>Anyone can install them and enjoy a free trial period of 14 days in most instances. The trial period may commence as soon as you install the plug-in.</p>
<p>
You should install premium plug-ins without registering them first to take advantage of this trial period. Then, if you find the functionality useful,
you can register it via its detail page here in the catalog.
</p>
<p>These plug-ins will appear in the catalog with a "Premium" banner.</p>
</div>
</div>
</body>
</html>

View File

@ -33,12 +33,14 @@
updateFilterControls();
var screenWidth = $(window).width();
html += LibraryBrowser.getPosterViewHtml({
items: result.Items,
shape: "backdrop",
showTitle: true,
showParentTitle: true,
overlayText: true,
overlayText: screenWidth >= 600,
selectionPanel: true,
lazy: true
});

View File

@ -136,7 +136,7 @@
items: result.Items,
preferBackdrop: true,
shape: 'backdrop',
overlayText: true,
overlayText: screenWidth >= 600,
showTitle: true,
showParentTitle: true

View File

@ -415,6 +415,8 @@
$('.viewSettings', page).hide();
}
var screenWidth = $(window).width();
if (query.IncludeItemTypes == "Audio") {
html += LibraryBrowser.getSongTableHtml(result.Items, {
@ -442,7 +444,7 @@
shape: "backdrop",
showTitle: true,
showParentTitle: true,
overlayText: true
overlayText: screenWidth >= 600
});
}

View File

@ -1069,12 +1069,7 @@
continue;
}
var type;
if (item.MediaType == "Audio" && stream.Type == "Video") {
type = "Embedded Image";
} else {
type = stream.Type;
}
var type = stream.Type.replace('EmbeddedImage', 'Embedded Image');
html += '<div class="mediaInfoStream">';

View File

@ -76,7 +76,7 @@
return LibraryBrowser.getHref(item);
}
function insertViews(page, user, counts, items, liveTvInfo) {
function getViewsHtml(userId, counts, items, liveTvInfo) {
var html = '';
@ -89,10 +89,10 @@
}).join('');
var showChannels = counts.ChannelCount;
var showLiveTv = liveTvInfo.EnabledUsers.indexOf(user.Id) != -1;
var showLiveTv = liveTvInfo.EnabledUsers.indexOf(userId) != -1;
if (showChannels || showLiveTv) {
html += '<div class="desktopLibraryMenuDivider"></div>';
html += '<div class="libraryMenuDivider"></div>';
}
if (showChannels) {
@ -103,7 +103,7 @@
html += '<a class="viewMenuLink viewMenuTextLink lnkMediaFolder tvshowsViewMenu" data-itemid="livetv" href="livetvsuggested.html">Live TV</a>';
}
$('.desktopLibraryMenu', page).html(html);
return html;
}
function showLibraryMenu() {
@ -136,23 +136,10 @@
html += '<p class="libraryPanelHeader"><a href="index.html" class="imageLink"><img src="css/images/mblogoicon.png" /><span>MEDIA</span><span class="mediaBrowserAccent">BROWSER</span></a></p>';
html += '<ul data-role="listview">';
html += '<div style="margin: 0 -1em;">';
html += getViewsHtml(Dashboard.getCurrentUserId(), counts, items, liveTvInfo);
html += '</div>';
html += items.map(function (i) {
return '<li><a data-itemid="' + i.Id + '" class="libraryPanelLink lnkMediaFolder" href="' + getItemHref(i) + '">' + i.Name + '</a></li>';
}).join('');
if (counts.ChannelCount) {
html += '<li><a class="libraryPanelLink lnkMediaFolder" data-itemid="channels" href="channels.html">Channels</a></li>';
}
if (liveTvInfo.EnabledUsers.indexOf(Dashboard.getCurrentUserId()) != -1) {
html += '<li><a class="libraryPanelLink lnkMediaFolder" data-itemid="livetv" href="livetvsuggested.html">Live TV</a></li>';
}
html += '</ul>';
html += '</div>';
$(page).append(html);
@ -160,6 +147,8 @@
panel = $('#libraryPanel', page).panel({}).trigger('create');
}
updateLibraryNavLinks(page);
return panel;
}
@ -201,7 +190,7 @@
sessionStorage.setItem('topParentId', id);
$('.lnkMediaFolder', page).each(function () {
$('.lnkMediaFolder').each(function () {
var itemId = this.getAttribute('data-itemid');
@ -266,7 +255,8 @@
var items = response2[0].Items;
var liveTvInfo = response3[0];
insertViews(page, user, counts, items, liveTvInfo);
var html = getViewsHtml(user.Id, counts, items, liveTvInfo);
$('.desktopLibraryMenu', page).html(html);
updateLibraryNavLinks(page);

View File

@ -22,13 +22,15 @@
updateFilterControls();
var screenWidth = $(window).width();
html += LibraryBrowser.getPosterViewHtml({
items: result.Items,
shape: "backdrop",
showTitle: true,
showParentTitle: true,
overlayText: true,
overlayText: screenWidth >= 600,
coverImage: true
});

View File

@ -43,6 +43,8 @@
function renderRecordings(elem, recordings) {
var screenWidth = $(window).width();
if (recordings.length) {
elem.show();
} else {
@ -55,7 +57,7 @@
shape: "backdrop",
showTitle: true,
showParentTitle: true,
overlayText: true,
overlayText: screenWidth >= 600,
coverImage: true
})).createPosterItemMenus();

View File

@ -119,12 +119,14 @@
function renderRecordings(page, result) {
var screenWidth = $(window).width();
$('.recordingsTab', page).html(LibraryBrowser.getPosterViewHtml({
items: result.Items,
shape: "smallBackdrop",
showTitle: true,
overlayText: true,
overlayText: screenWidth >= 600,
coverImage: true
})).createPosterItemMenus();

View File

@ -3,6 +3,7 @@
function reload(page) {
Dashboard.showLoadingMsg();
var screenWidth = $(window).width();
apiClient.getLiveTvRecommendedPrograms({
@ -18,7 +19,7 @@
shape: "square",
showTitle: true,
showParentTitle: true,
overlayText: true,
overlayText: screenWidth >= 600,
coverImage: true
});
@ -41,7 +42,7 @@
shape: "square",
showTitle: true,
showParentTitle: true,
overlayText: true,
overlayText: screenWidth >= 600,
coverImage: true
});

View File

@ -68,7 +68,7 @@
items: result.Items,
preferBackdrop: true,
shape: 'backdrop',
overlayText: true,
overlayText: screenWidth >= 600,
showTitle: true
})).createPosterItemMenus();

View File

@ -275,6 +275,7 @@
$('.btnChapters', page).buttonEnabled(item && item.Chapters && item.Chapters.length);
$('.sendMessageElement', page).buttonEnabled(supportedCommands.indexOf('DisplayMessage') != -1);
$('.typeTextElement', page).buttonEnabled(supportedCommands.indexOf('SendString') != -1);
$('.btnStop', page).buttonEnabled(item != null);
$('.btnNextTrack', page).buttonEnabled(item != null);
@ -490,6 +491,25 @@
$('input', form).val('');
Dashboard.alert('Message sent.');
return false;
},
onSendStringSubmit: function() {
var form = this;
MediaController.sendCommand({
Name: 'SendString',
Arguments: {
String: $('#txtTypeText', form).val()
}
}, currentPlayer);
$('input', form).val('');
Dashboard.alert('Text sent.');
return false;
}

View File

@ -17,7 +17,8 @@
tileColor: "#050810",
thumbImage: "https://github.com/MediaBrowser/MediaBrowser.Resources/raw/master/images/mbkinect/thumb.png",
externalUrl: "http://mediabrowser.tv/community/index.php?/topic/850-media-browser-kinect-sensor-plug-in-support/",
isPremium: false
isPremium: false,
isExternal: true
});
return apps;
@ -108,6 +109,7 @@
html += "</div>";
if (!plugin.isExternal) {
html += "<div class='posterItemText packageReviewText' style='color:#000;'>";
html += plugin.price > 0 ? "$" + plugin.price.toFixed(2) : "Free";
html += Dashboard.getStoreRatingHtml(plugin.avgRating, plugin.id, plugin.name);
@ -117,6 +119,7 @@
html += "</span>";
html += "</div>";
}
var installedPlugin = plugin.isApp ? null : installedPlugins.filter(function (ip) {
return ip.Name == plugin.name;

View File

@ -35,7 +35,6 @@
items: result.Items,
shape: "backdrop",
showTitle: false,
overlayText: false,
context: 'tv',
preferThumb: true,
showItemCounts: true,

View File

@ -28,7 +28,7 @@
shape: "backdrop",
showTitle: true,
showParentTitle: true,
overlayText: true
overlayText: screenWidth >= 600
})).createPosterItemMenus();

View File

@ -32,7 +32,7 @@
shape: "backdrop",
showTitle: true,
showParentTitle: true,
overlayText: true
overlayText: screenWidth >= 600
})).createPosterItemMenus();
@ -41,6 +41,8 @@
function loadNextUp(page) {
var screenWidth = $(window).width();
var parentId = LibraryMenu.getTopParentId();
var options = {
@ -65,7 +67,7 @@
shape: "backdrop",
showTitle: true,
showParentTitle: true,
overlayText: true
overlayText: screenWidth >= 600
})).createPosterItemMenus();

View File

@ -35,7 +35,6 @@
items: result.Items,
shape: "backdrop",
showTitle: false,
overlayText: false,
context: 'tv',
preferThumb: true,
showItemCounts: true,