mirror of
https://github.com/jellyfin/jellyfin-web.git
synced 2024-11-18 11:28:23 -07:00
commit
e4906385ac
@ -14,12 +14,12 @@
|
||||
},
|
||||
"devDependencies": {},
|
||||
"ignore": [],
|
||||
"version": "1.4.178",
|
||||
"_release": "1.4.178",
|
||||
"version": "1.4.182",
|
||||
"_release": "1.4.182",
|
||||
"_resolution": {
|
||||
"type": "version",
|
||||
"tag": "1.4.178",
|
||||
"commit": "7c624942d8f173858375ee1b3dfe735a82245af6"
|
||||
"tag": "1.4.182",
|
||||
"commit": "d4c701ce17ff5a243470cf9cae99babde51f7179"
|
||||
},
|
||||
"_source": "https://github.com/MediaBrowser/emby-webcomponents.git",
|
||||
"_target": "^1.2.1",
|
||||
|
@ -206,11 +206,11 @@
|
||||
padding: .5em .3em;
|
||||
}
|
||||
|
||||
.visualCardBox .cardScalable, .visualCardBox .cardFooter {
|
||||
.visualCardBox .cardScalable, .visualCardBox-cardFooter {
|
||||
background-color: #222326;
|
||||
}
|
||||
|
||||
.visualCardBox .cardFooter {
|
||||
.visualCardBox-cardFooter {
|
||||
border-bottom-left-radius: 2px;
|
||||
border-bottom-right-radius: 2px;
|
||||
-moz-box-shadow: 0 2px 4px rgba(0,0,0,0.1);
|
||||
|
@ -1079,7 +1079,7 @@ define(['datetime', 'imageLoader', 'connectionManager', 'itemHelper', 'mediaInfo
|
||||
|
||||
var outerCardFooter = '';
|
||||
if (!overlayText && !footerOverlayed) {
|
||||
footerCssClass = options.cardLayout ? 'cardFooter' : 'cardFooter transparent';
|
||||
footerCssClass = options.cardLayout ? 'cardFooter visualCardBox-cardFooter' : 'cardFooter transparent';
|
||||
outerCardFooter = getCardFooterText(item, options, showTitle, forceName, imgUrl, footerCssClass, progressHtml, true);
|
||||
}
|
||||
|
||||
|
@ -93,7 +93,7 @@ define(['imageLoader', 'itemShortcuts', 'connectionManager', 'layoutManager'], f
|
||||
</div>\
|
||||
</div>\
|
||||
</div>\
|
||||
<div class="cardFooter">\
|
||||
<div class="cardFooter visualCardBox-cardFooter">\
|
||||
' + nameHtml + '\
|
||||
</div>\
|
||||
</div>\
|
||||
|
@ -24,7 +24,7 @@ define(['dom'], function (dom) {
|
||||
}
|
||||
|
||||
if (defaultToFirst !== false) {
|
||||
element = getFocusableElements(view)[0];
|
||||
element = getFocusableElements(view, 1)[0];
|
||||
|
||||
if (element) {
|
||||
focus(element);
|
||||
@ -117,7 +117,7 @@ define(['dom'], function (dom) {
|
||||
return scopes[0] || document.body;
|
||||
}
|
||||
|
||||
function getFocusableElements(parent) {
|
||||
function getFocusableElements(parent, limit) {
|
||||
var elems = (parent || getDefaultScope()).querySelectorAll(focusableQuery);
|
||||
var focusableElements = [];
|
||||
|
||||
@ -127,6 +127,10 @@ define(['dom'], function (dom) {
|
||||
|
||||
if (isCurrentlyFocusableInternal(elem)) {
|
||||
focusableElements.push(elem);
|
||||
|
||||
if (limit && focusableElements.length >= limit) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -262,6 +266,11 @@ define(['dom'], function (dom) {
|
||||
|
||||
var elementRect = getViewportBoundingClientRect(curr, windowData);
|
||||
|
||||
// not currently visible
|
||||
if (!elementRect.width && !elementRect.height) {
|
||||
continue;
|
||||
}
|
||||
|
||||
switch (direction) {
|
||||
|
||||
case 0:
|
||||
|
@ -212,7 +212,7 @@ define(['apphost', 'globalize', 'connectionManager', 'itemHelper', 'embyRouter',
|
||||
}
|
||||
}
|
||||
|
||||
if (isMobileApp && options.sync !== false) {
|
||||
if (options.sync !== false) {
|
||||
if (itemHelper.canSync(user, item)) {
|
||||
commands.push({
|
||||
name: globalize.translate('sharedcomponents#SyncToOtherDevice'),
|
||||
@ -425,10 +425,8 @@ define(['apphost', 'globalize', 'connectionManager', 'itemHelper', 'embyRouter',
|
||||
{
|
||||
require(['syncDialog'], function (syncDialog) {
|
||||
syncDialog.showMenu({
|
||||
items: [
|
||||
{
|
||||
Id: itemId
|
||||
}]
|
||||
items: [item],
|
||||
serverId: serverId
|
||||
});
|
||||
});
|
||||
getResolveFunction(resolve, id)();
|
||||
@ -438,11 +436,9 @@ define(['apphost', 'globalize', 'connectionManager', 'itemHelper', 'embyRouter',
|
||||
{
|
||||
require(['syncDialog'], function (syncDialog) {
|
||||
syncDialog.showMenu({
|
||||
items: [
|
||||
{
|
||||
Id: itemId
|
||||
}],
|
||||
isLocalSync: true
|
||||
items: [item],
|
||||
isLocalSync: true,
|
||||
serverId: serverId
|
||||
});
|
||||
});
|
||||
getResolveFunction(resolve, id)();
|
||||
|
@ -203,7 +203,7 @@
|
||||
html += '</div>';
|
||||
html += '</div>';
|
||||
|
||||
html += '<div class="cardFooter cardFooter-visual">';
|
||||
html += '<div class="cardFooter visualCardBox-cardFooter">';
|
||||
html += '<div class="cardText cardTextCentered">' + result.Name + '</div>';
|
||||
|
||||
html += '<div class="cardText cardText-secondary cardTextCentered">';
|
||||
|
@ -259,15 +259,13 @@
|
||||
|
||||
menuItems.push({
|
||||
name: globalize.translate('sharedcomponents#Refresh'),
|
||||
id: 'refresh',
|
||||
ironIcon: 'refresh'
|
||||
id: 'refresh'
|
||||
});
|
||||
|
||||
if (user.Policy.EnableSync) {
|
||||
menuItems.push({
|
||||
name: globalize.translate('sharedcomponents#SyncToOtherDevice'),
|
||||
id: 'sync',
|
||||
ironIcon: 'sync'
|
||||
id: 'sync'
|
||||
});
|
||||
}
|
||||
|
||||
@ -345,7 +343,8 @@
|
||||
return {
|
||||
Id: i
|
||||
};
|
||||
})
|
||||
}),
|
||||
serverId: serverId
|
||||
});
|
||||
});
|
||||
hideSelections();
|
||||
@ -359,7 +358,8 @@
|
||||
Id: i
|
||||
};
|
||||
}),
|
||||
isLocalSync: true
|
||||
isLocalSync: true,
|
||||
serverId: serverId
|
||||
});
|
||||
});
|
||||
hideSelections();
|
||||
|
@ -415,7 +415,7 @@ define(['browser', 'layoutManager', 'dom', 'scrollStyles'], function (browser, l
|
||||
fill: 'both'
|
||||
};
|
||||
|
||||
if (!animation.immediate || browser.animate) {
|
||||
if (browser.animate) {
|
||||
animationConfig.easing = 'ease-out';
|
||||
}
|
||||
|
||||
|
@ -1,4 +1,20 @@
|
||||
{
|
||||
"SyncJobCreated": "Sync job created.",
|
||||
"LabelSyncTo": "Sync to:",
|
||||
"LabelSyncJobName": "Sync job name:",
|
||||
"LabelSyncNoTargetsHelp": "It looks like you don't currently have any apps that support sync.",
|
||||
"LabelQuality": "Quality:",
|
||||
"LearnMore": "Learn more",
|
||||
"DownloadScheduled": "Download scheduled",
|
||||
"LabelBitrateMbps": "Bitrate (Mbps):",
|
||||
"LabelProfile": "Profile:",
|
||||
"SyncUnwatchedVideosOnly": "Sync unwatched videos only",
|
||||
"AutomaticallySyncNewContent": "Automatically sync new content",
|
||||
"PleaseSelectDeviceToSyncTo": "Please select a device to sync to.",
|
||||
"LabelItemLimit": "Item limit:",
|
||||
"SyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be synced, and videos will be removed from the device as they are watched.",
|
||||
"LabelItemLimitHelp": "Optional. Set a limit to the number of items that will be synced.",
|
||||
"AutomaticallySyncNewContentHelp": "New content added to this folder will be automatically synced to the device.",
|
||||
"ValueSpecialEpisodeName": "Special - {0}",
|
||||
"Share": "Share",
|
||||
"Add": "Add",
|
||||
|
@ -1,4 +1,20 @@
|
||||
{
|
||||
"SyncJobCreated": "Sync job created.",
|
||||
"LabelSyncTo": "Sync to:",
|
||||
"LabelSyncJobName": "Sync job name:",
|
||||
"LabelSyncNoTargetsHelp": "It looks like you don't currently have any apps that support sync.",
|
||||
"LabelQuality": "Quality:",
|
||||
"LearnMore": "Learn more",
|
||||
"DownloadScheduled": "Download scheduled",
|
||||
"LabelBitrateMbps": "Bitrate (Mbps):",
|
||||
"LabelProfile": "Profile:",
|
||||
"SyncUnwatchedVideosOnly": "Sync unwatched videos only",
|
||||
"AutomaticallySyncNewContent": "Automatically sync new content",
|
||||
"PleaseSelectDeviceToSyncTo": "Please select a device to sync to.",
|
||||
"LabelItemLimit": "Item limit:",
|
||||
"SyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be synced, and videos will be removed from the device as they are watched.",
|
||||
"LabelItemLimitHelp": "Optional. Set a limit to the number of items that will be synced.",
|
||||
"AutomaticallySyncNewContentHelp": "New content added to this folder will be automatically synced to the device.",
|
||||
"ValueSpecialEpisodeName": "Special - {0}",
|
||||
"Share": "Share",
|
||||
"Add": "\u0414\u043e\u0431\u0430\u0432\u0438",
|
||||
|
@ -1,4 +1,20 @@
|
||||
{
|
||||
"SyncJobCreated": "Sync job created.",
|
||||
"LabelSyncTo": "Sync to:",
|
||||
"LabelSyncJobName": "Sync job name:",
|
||||
"LabelSyncNoTargetsHelp": "It looks like you don't currently have any apps that support sync.",
|
||||
"LabelQuality": "Quality:",
|
||||
"LearnMore": "Learn more",
|
||||
"DownloadScheduled": "Download scheduled",
|
||||
"LabelBitrateMbps": "Bitrate (Mbps):",
|
||||
"LabelProfile": "Profile:",
|
||||
"SyncUnwatchedVideosOnly": "Sync unwatched videos only",
|
||||
"AutomaticallySyncNewContent": "Automatically sync new content",
|
||||
"PleaseSelectDeviceToSyncTo": "Please select a device to sync to.",
|
||||
"LabelItemLimit": "Item limit:",
|
||||
"SyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be synced, and videos will be removed from the device as they are watched.",
|
||||
"LabelItemLimitHelp": "Optional. Set a limit to the number of items that will be synced.",
|
||||
"AutomaticallySyncNewContentHelp": "New content added to this folder will be automatically synced to the device.",
|
||||
"ValueSpecialEpisodeName": "Special - {0}",
|
||||
"Share": "Share",
|
||||
"Add": "Afegeix",
|
||||
|
@ -1,4 +1,20 @@
|
||||
{
|
||||
"SyncJobCreated": "Sync job created.",
|
||||
"LabelSyncTo": "Sync to:",
|
||||
"LabelSyncJobName": "Sync job name:",
|
||||
"LabelSyncNoTargetsHelp": "It looks like you don't currently have any apps that support sync.",
|
||||
"LabelQuality": "Quality:",
|
||||
"LearnMore": "Learn more",
|
||||
"DownloadScheduled": "Download scheduled",
|
||||
"LabelBitrateMbps": "Bitrate (Mbps):",
|
||||
"LabelProfile": "Profile:",
|
||||
"SyncUnwatchedVideosOnly": "Sync unwatched videos only",
|
||||
"AutomaticallySyncNewContent": "Automatically sync new content",
|
||||
"PleaseSelectDeviceToSyncTo": "Please select a device to sync to.",
|
||||
"LabelItemLimit": "Item limit:",
|
||||
"SyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be synced, and videos will be removed from the device as they are watched.",
|
||||
"LabelItemLimitHelp": "Optional. Set a limit to the number of items that will be synced.",
|
||||
"AutomaticallySyncNewContentHelp": "New content added to this folder will be automatically synced to the device.",
|
||||
"ValueSpecialEpisodeName": "Special - {0}",
|
||||
"Share": "Share",
|
||||
"Add": "P\u0159idat",
|
||||
|
@ -1,4 +1,20 @@
|
||||
{
|
||||
"SyncJobCreated": "Sync job created.",
|
||||
"LabelSyncTo": "Sync to:",
|
||||
"LabelSyncJobName": "Sync job name:",
|
||||
"LabelSyncNoTargetsHelp": "It looks like you don't currently have any apps that support sync.",
|
||||
"LabelQuality": "Quality:",
|
||||
"LearnMore": "Learn more",
|
||||
"DownloadScheduled": "Download scheduled",
|
||||
"LabelBitrateMbps": "Bitrate (Mbps):",
|
||||
"LabelProfile": "Profile:",
|
||||
"SyncUnwatchedVideosOnly": "Sync unwatched videos only",
|
||||
"AutomaticallySyncNewContent": "Automatically sync new content",
|
||||
"PleaseSelectDeviceToSyncTo": "Please select a device to sync to.",
|
||||
"LabelItemLimit": "Item limit:",
|
||||
"SyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be synced, and videos will be removed from the device as they are watched.",
|
||||
"LabelItemLimitHelp": "Optional. Set a limit to the number of items that will be synced.",
|
||||
"AutomaticallySyncNewContentHelp": "New content added to this folder will be automatically synced to the device.",
|
||||
"ValueSpecialEpisodeName": "Special - {0}",
|
||||
"Share": "Del",
|
||||
"Add": "Tilf\u00f8j",
|
||||
|
@ -1,4 +1,20 @@
|
||||
{
|
||||
"SyncJobCreated": "Synchronisationsaufgabe erstellt.",
|
||||
"LabelSyncTo": "Synchronisiere mit:",
|
||||
"LabelSyncJobName": "Name der Synchronisationsaufgabe:",
|
||||
"LabelSyncNoTargetsHelp": "Es sieht so aus als w\u00fcrdest du aktuell keine Apps verwenden, die Synchronisation unterst\u00fctzen.",
|
||||
"LabelQuality": "Qualit\u00e4t:",
|
||||
"LearnMore": "Erfahre mehr",
|
||||
"DownloadScheduled": "Download geplant",
|
||||
"LabelBitrateMbps": "Bitrate (Mbps):",
|
||||
"LabelProfile": "Profil:",
|
||||
"SyncUnwatchedVideosOnly": "Synchronisiere nur ungesehene Videos",
|
||||
"AutomaticallySyncNewContent": "Synchronisiere neue Inhalte automatisch",
|
||||
"PleaseSelectDeviceToSyncTo": "Bitte w\u00e4hlen Sie ein zu synchronisierendes Ger\u00e4t.",
|
||||
"LabelItemLimit": "Maximale Anzahl:",
|
||||
"SyncUnwatchedVideosOnlyHelp": "Nur ungesehene Video werden synchronisiert. Videos werden entfernt sobald diese auf dem Ger\u00e4t angeschaut wurden.",
|
||||
"LabelItemLimitHelp": "Optional. Legen Sie die maximale Anzahl der zu synchronisierenden Eintr\u00e4ge fest.",
|
||||
"AutomaticallySyncNewContentHelp": "Neu zu diesen Ordner hinzugef\u00fcgte Inhalte werden automatisch mit dem Ger\u00e4t synchronisiert.",
|
||||
"ValueSpecialEpisodeName": "Special - {0}",
|
||||
"Share": "Teilen",
|
||||
"Add": "Hinzuf\u00fcgen",
|
||||
|
@ -1,4 +1,20 @@
|
||||
{
|
||||
"SyncJobCreated": "Sync job created.",
|
||||
"LabelSyncTo": "Sync to:",
|
||||
"LabelSyncJobName": "Sync job name:",
|
||||
"LabelSyncNoTargetsHelp": "It looks like you don't currently have any apps that support sync.",
|
||||
"LabelQuality": "Quality:",
|
||||
"LearnMore": "Learn more",
|
||||
"DownloadScheduled": "Download scheduled",
|
||||
"LabelBitrateMbps": "Bitrate (Mbps):",
|
||||
"LabelProfile": "Profile:",
|
||||
"SyncUnwatchedVideosOnly": "Sync unwatched videos only",
|
||||
"AutomaticallySyncNewContent": "Automatically sync new content",
|
||||
"PleaseSelectDeviceToSyncTo": "Please select a device to sync to.",
|
||||
"LabelItemLimit": "Item limit:",
|
||||
"SyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be synced, and videos will be removed from the device as they are watched.",
|
||||
"LabelItemLimitHelp": "Optional. Set a limit to the number of items that will be synced.",
|
||||
"AutomaticallySyncNewContentHelp": "New content added to this folder will be automatically synced to the device.",
|
||||
"ValueSpecialEpisodeName": "Special - {0}",
|
||||
"Share": "Share",
|
||||
"Add": "\u03a0\u03c1\u03cc\u03c3\u03b8\u03b5\u03c3\u03b5",
|
||||
|
@ -1,4 +1,20 @@
|
||||
{
|
||||
"SyncJobCreated": "Sync job created.",
|
||||
"LabelSyncTo": "Sync to:",
|
||||
"LabelSyncJobName": "Sync job name:",
|
||||
"LabelSyncNoTargetsHelp": "It looks like you don't currently have any apps that support sync.",
|
||||
"LabelQuality": "Quality:",
|
||||
"LearnMore": "Learn more",
|
||||
"DownloadScheduled": "Download scheduled",
|
||||
"LabelBitrateMbps": "Bitrate (Mbps):",
|
||||
"LabelProfile": "Profile:",
|
||||
"SyncUnwatchedVideosOnly": "Sync unwatched videos only",
|
||||
"AutomaticallySyncNewContent": "Automatically sync new content",
|
||||
"PleaseSelectDeviceToSyncTo": "Please select a device to sync to.",
|
||||
"LabelItemLimit": "Item limit:",
|
||||
"SyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be synced, and videos will be removed from the device as they are watched.",
|
||||
"LabelItemLimitHelp": "Optional. Set a limit to the number of items that will be synced.",
|
||||
"AutomaticallySyncNewContentHelp": "New content added to this folder will be automatically synced to the device.",
|
||||
"ValueSpecialEpisodeName": "Special - {0}",
|
||||
"Share": "Share",
|
||||
"Add": "Add",
|
||||
|
@ -254,5 +254,21 @@
|
||||
"ServerNameIsShuttingDown": "Emby Server - {0} is shutting down.",
|
||||
"HeaderDeleteItems": "Delete Items",
|
||||
"ConfirmDeleteItems": "Deleting these items will delete them from both the file system and your media library. Are you sure you wish to continue?",
|
||||
"PleaseRestartServerName": "Please restart Emby Server - {0}."
|
||||
"PleaseRestartServerName": "Please restart Emby Server - {0}.",
|
||||
"SyncJobCreated": "Sync job created.",
|
||||
"LabelSyncTo": "Sync to:",
|
||||
"LabelSyncJobName": "Sync job name:",
|
||||
"LabelQuality": "Quality:",
|
||||
"LabelSyncNoTargetsHelp": "It looks like you don't currently have any apps that support sync.",
|
||||
"DownloadScheduled": "Download scheduled",
|
||||
"LearnMore": "Learn more",
|
||||
"LabelProfile": "Profile:",
|
||||
"LabelBitrateMbps": "Bitrate (Mbps):",
|
||||
"SyncUnwatchedVideosOnly": "Sync unwatched videos only",
|
||||
"SyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be synced, and videos will be removed from the device as they are watched.",
|
||||
"AutomaticallySyncNewContent": "Automatically sync new content",
|
||||
"AutomaticallySyncNewContentHelp": "New content added to this folder will be automatically synced to the device.",
|
||||
"LabelItemLimit": "Item limit:",
|
||||
"LabelItemLimitHelp": "Optional. Set a limit to the number of items that will be synced.",
|
||||
"PleaseSelectDeviceToSyncTo": "Please select a device to sync to."
|
||||
}
|
@ -1,4 +1,20 @@
|
||||
{
|
||||
"SyncJobCreated": "Sync job created.",
|
||||
"LabelSyncTo": "Sync to:",
|
||||
"LabelSyncJobName": "Sync job name:",
|
||||
"LabelSyncNoTargetsHelp": "It looks like you don't currently have any apps that support sync.",
|
||||
"LabelQuality": "Quality:",
|
||||
"LearnMore": "Learn more",
|
||||
"DownloadScheduled": "Download scheduled",
|
||||
"LabelBitrateMbps": "Bitrate (Mbps):",
|
||||
"LabelProfile": "Profile:",
|
||||
"SyncUnwatchedVideosOnly": "Sync unwatched videos only",
|
||||
"AutomaticallySyncNewContent": "Automatically sync new content",
|
||||
"PleaseSelectDeviceToSyncTo": "Please select a device to sync to.",
|
||||
"LabelItemLimit": "Item limit:",
|
||||
"SyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be synced, and videos will be removed from the device as they are watched.",
|
||||
"LabelItemLimitHelp": "Optional. Set a limit to the number of items that will be synced.",
|
||||
"AutomaticallySyncNewContentHelp": "New content added to this folder will be automatically synced to the device.",
|
||||
"ValueSpecialEpisodeName": "Special - {0}",
|
||||
"Share": "Share",
|
||||
"Add": "Add",
|
||||
|
@ -1,4 +1,20 @@
|
||||
{
|
||||
"SyncJobCreated": "Sync job created.",
|
||||
"LabelSyncTo": "Sync to:",
|
||||
"LabelSyncJobName": "Sync job name:",
|
||||
"LabelSyncNoTargetsHelp": "It looks like you don't currently have any apps that support sync.",
|
||||
"LabelQuality": "Quality:",
|
||||
"LearnMore": "Learn more",
|
||||
"DownloadScheduled": "Download scheduled",
|
||||
"LabelBitrateMbps": "Bitrate (Mbps):",
|
||||
"LabelProfile": "Profile:",
|
||||
"SyncUnwatchedVideosOnly": "Sync unwatched videos only",
|
||||
"AutomaticallySyncNewContent": "Automatically sync new content",
|
||||
"PleaseSelectDeviceToSyncTo": "Please select a device to sync to.",
|
||||
"LabelItemLimit": "Item limit:",
|
||||
"SyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be synced, and videos will be removed from the device as they are watched.",
|
||||
"LabelItemLimitHelp": "Optional. Set a limit to the number of items that will be synced.",
|
||||
"AutomaticallySyncNewContentHelp": "New content added to this folder will be automatically synced to the device.",
|
||||
"ValueSpecialEpisodeName": "Especial - {0}",
|
||||
"Share": "Compartir",
|
||||
"Add": "Agregar",
|
||||
|
@ -1,4 +1,20 @@
|
||||
{
|
||||
"SyncJobCreated": "Sync job created.",
|
||||
"LabelSyncTo": "Sync to:",
|
||||
"LabelSyncJobName": "Sync job name:",
|
||||
"LabelSyncNoTargetsHelp": "It looks like you don't currently have any apps that support sync.",
|
||||
"LabelQuality": "Quality:",
|
||||
"LearnMore": "Learn more",
|
||||
"DownloadScheduled": "Download scheduled",
|
||||
"LabelBitrateMbps": "Bitrate (Mbps):",
|
||||
"LabelProfile": "Profile:",
|
||||
"SyncUnwatchedVideosOnly": "Sync unwatched videos only",
|
||||
"AutomaticallySyncNewContent": "Automatically sync new content",
|
||||
"PleaseSelectDeviceToSyncTo": "Please select a device to sync to.",
|
||||
"LabelItemLimit": "Item limit:",
|
||||
"SyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be synced, and videos will be removed from the device as they are watched.",
|
||||
"LabelItemLimitHelp": "Optional. Set a limit to the number of items that will be synced.",
|
||||
"AutomaticallySyncNewContentHelp": "New content added to this folder will be automatically synced to the device.",
|
||||
"ValueSpecialEpisodeName": "Special - {0}",
|
||||
"Share": "Compartir",
|
||||
"Add": "A\u00f1adir",
|
||||
|
@ -1,4 +1,20 @@
|
||||
{
|
||||
"SyncJobCreated": "Sync job created.",
|
||||
"LabelSyncTo": "Sync to:",
|
||||
"LabelSyncJobName": "Sync job name:",
|
||||
"LabelSyncNoTargetsHelp": "It looks like you don't currently have any apps that support sync.",
|
||||
"LabelQuality": "Quality:",
|
||||
"LearnMore": "Learn more",
|
||||
"DownloadScheduled": "Download scheduled",
|
||||
"LabelBitrateMbps": "Bitrate (Mbps):",
|
||||
"LabelProfile": "Profile:",
|
||||
"SyncUnwatchedVideosOnly": "Sync unwatched videos only",
|
||||
"AutomaticallySyncNewContent": "Automatically sync new content",
|
||||
"PleaseSelectDeviceToSyncTo": "Please select a device to sync to.",
|
||||
"LabelItemLimit": "Item limit:",
|
||||
"SyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be synced, and videos will be removed from the device as they are watched.",
|
||||
"LabelItemLimitHelp": "Optional. Set a limit to the number of items that will be synced.",
|
||||
"AutomaticallySyncNewContentHelp": "New content added to this folder will be automatically synced to the device.",
|
||||
"ValueSpecialEpisodeName": "Special - {0}",
|
||||
"Share": "Share",
|
||||
"Add": "Add",
|
||||
|
@ -1,4 +1,20 @@
|
||||
{
|
||||
"SyncJobCreated": "Sync job created.",
|
||||
"LabelSyncTo": "Sync to:",
|
||||
"LabelSyncJobName": "Sync job name:",
|
||||
"LabelSyncNoTargetsHelp": "It looks like you don't currently have any apps that support sync.",
|
||||
"LabelQuality": "Quality:",
|
||||
"LearnMore": "Learn more",
|
||||
"DownloadScheduled": "Download scheduled",
|
||||
"LabelBitrateMbps": "Bitrate (Mbps):",
|
||||
"LabelProfile": "Profile:",
|
||||
"SyncUnwatchedVideosOnly": "Sync unwatched videos only",
|
||||
"AutomaticallySyncNewContent": "Automatically sync new content",
|
||||
"PleaseSelectDeviceToSyncTo": "Please select a device to sync to.",
|
||||
"LabelItemLimit": "Item limit:",
|
||||
"SyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be synced, and videos will be removed from the device as they are watched.",
|
||||
"LabelItemLimitHelp": "Optional. Set a limit to the number of items that will be synced.",
|
||||
"AutomaticallySyncNewContentHelp": "New content added to this folder will be automatically synced to the device.",
|
||||
"ValueSpecialEpisodeName": "Special - {0}",
|
||||
"Share": "Share",
|
||||
"Add": "Add",
|
||||
|
@ -1,4 +1,20 @@
|
||||
{
|
||||
"SyncJobCreated": "Sync job created.",
|
||||
"LabelSyncTo": "Sync to:",
|
||||
"LabelSyncJobName": "Sync job name:",
|
||||
"LabelSyncNoTargetsHelp": "It looks like you don't currently have any apps that support sync.",
|
||||
"LabelQuality": "Quality:",
|
||||
"LearnMore": "Learn more",
|
||||
"DownloadScheduled": "Download scheduled",
|
||||
"LabelBitrateMbps": "Bitrate (Mbps):",
|
||||
"LabelProfile": "Profile:",
|
||||
"SyncUnwatchedVideosOnly": "Sync unwatched videos only",
|
||||
"AutomaticallySyncNewContent": "Automatically sync new content",
|
||||
"PleaseSelectDeviceToSyncTo": "Please select a device to sync to.",
|
||||
"LabelItemLimit": "Item limit:",
|
||||
"SyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be synced, and videos will be removed from the device as they are watched.",
|
||||
"LabelItemLimitHelp": "Optional. Set a limit to the number of items that will be synced.",
|
||||
"AutomaticallySyncNewContentHelp": "New content added to this folder will be automatically synced to the device.",
|
||||
"ValueSpecialEpisodeName": "Sp\u00e9cial - {0}",
|
||||
"Share": "Partager",
|
||||
"Add": "Ajouter",
|
||||
@ -252,7 +268,7 @@
|
||||
"MakeAvailableOffline": "Rendre disponible hors connexion",
|
||||
"ServerNameIsRestarting": "Emby Server - {0} est red\u00e9marr\u00e9.",
|
||||
"ServerNameIsShuttingDown": "Emby Server - {0} est arr\u00eater.",
|
||||
"HeaderDeleteItems": "Delete Items",
|
||||
"ConfirmDeleteItems": "Deleting these items will delete them from both the file system and your media library. Are you sure you wish to continue?",
|
||||
"HeaderDeleteItems": "Supprimer les \u00e9l\u00e9ments",
|
||||
"ConfirmDeleteItems": "Supprimer ces \u00e9l\u00e9ments l'effacera \u00e0 la fois du syst\u00e8me de fichiers et de votre biblioth\u00e8que de m\u00e9dias. \u00cates-vous s\u00fbr de vouloir continuer ?",
|
||||
"PleaseRestartServerName": "S'il vous pla\u00eet red\u00e9marrer Emby server - {0}."
|
||||
}
|
@ -1,4 +1,20 @@
|
||||
{
|
||||
"SyncJobCreated": "Sync job created.",
|
||||
"LabelSyncTo": "Sync to:",
|
||||
"LabelSyncJobName": "Sync job name:",
|
||||
"LabelSyncNoTargetsHelp": "It looks like you don't currently have any apps that support sync.",
|
||||
"LabelQuality": "Quality:",
|
||||
"LearnMore": "Learn more",
|
||||
"DownloadScheduled": "Download scheduled",
|
||||
"LabelBitrateMbps": "Bitrate (Mbps):",
|
||||
"LabelProfile": "Profile:",
|
||||
"SyncUnwatchedVideosOnly": "Sync unwatched videos only",
|
||||
"AutomaticallySyncNewContent": "Automatically sync new content",
|
||||
"PleaseSelectDeviceToSyncTo": "Please select a device to sync to.",
|
||||
"LabelItemLimit": "Item limit:",
|
||||
"SyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be synced, and videos will be removed from the device as they are watched.",
|
||||
"LabelItemLimitHelp": "Optional. Set a limit to the number of items that will be synced.",
|
||||
"AutomaticallySyncNewContentHelp": "New content added to this folder will be automatically synced to the device.",
|
||||
"ValueSpecialEpisodeName": "Special - {0}",
|
||||
"Share": "Share",
|
||||
"Add": "Add",
|
||||
|
@ -1,4 +1,20 @@
|
||||
{
|
||||
"SyncJobCreated": "Sync job created.",
|
||||
"LabelSyncTo": "Sync to:",
|
||||
"LabelSyncJobName": "Sync job name:",
|
||||
"LabelSyncNoTargetsHelp": "It looks like you don't currently have any apps that support sync.",
|
||||
"LabelQuality": "Quality:",
|
||||
"LearnMore": "Learn more",
|
||||
"DownloadScheduled": "Download scheduled",
|
||||
"LabelBitrateMbps": "Bitrate (Mbps):",
|
||||
"LabelProfile": "Profile:",
|
||||
"SyncUnwatchedVideosOnly": "Sync unwatched videos only",
|
||||
"AutomaticallySyncNewContent": "Automatically sync new content",
|
||||
"PleaseSelectDeviceToSyncTo": "Please select a device to sync to.",
|
||||
"LabelItemLimit": "Item limit:",
|
||||
"SyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be synced, and videos will be removed from the device as they are watched.",
|
||||
"LabelItemLimitHelp": "Optional. Set a limit to the number of items that will be synced.",
|
||||
"AutomaticallySyncNewContentHelp": "New content added to this folder will be automatically synced to the device.",
|
||||
"ValueSpecialEpisodeName": "Special - {0}",
|
||||
"Share": "Share",
|
||||
"Add": "\u05d4\u05d5\u05e1\u05e3",
|
||||
|
@ -1,4 +1,20 @@
|
||||
{
|
||||
"SyncJobCreated": "Sync job created.",
|
||||
"LabelSyncTo": "Sync to:",
|
||||
"LabelSyncJobName": "Sync job name:",
|
||||
"LabelSyncNoTargetsHelp": "It looks like you don't currently have any apps that support sync.",
|
||||
"LabelQuality": "Quality:",
|
||||
"LearnMore": "Learn more",
|
||||
"DownloadScheduled": "Download scheduled",
|
||||
"LabelBitrateMbps": "Bitrate (Mbps):",
|
||||
"LabelProfile": "Profile:",
|
||||
"SyncUnwatchedVideosOnly": "Sync unwatched videos only",
|
||||
"AutomaticallySyncNewContent": "Automatically sync new content",
|
||||
"PleaseSelectDeviceToSyncTo": "Please select a device to sync to.",
|
||||
"LabelItemLimit": "Item limit:",
|
||||
"SyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be synced, and videos will be removed from the device as they are watched.",
|
||||
"LabelItemLimitHelp": "Optional. Set a limit to the number of items that will be synced.",
|
||||
"AutomaticallySyncNewContentHelp": "New content added to this folder will be automatically synced to the device.",
|
||||
"ValueSpecialEpisodeName": "Special - {0}",
|
||||
"Share": "Share",
|
||||
"Add": "Dodaj",
|
||||
|
@ -1,4 +1,20 @@
|
||||
{
|
||||
"SyncJobCreated": "Sync job created.",
|
||||
"LabelSyncTo": "Sync to:",
|
||||
"LabelSyncJobName": "Sync job name:",
|
||||
"LabelSyncNoTargetsHelp": "It looks like you don't currently have any apps that support sync.",
|
||||
"LabelQuality": "Quality:",
|
||||
"LearnMore": "Learn more",
|
||||
"DownloadScheduled": "Download scheduled",
|
||||
"LabelBitrateMbps": "Bitrate (Mbps):",
|
||||
"LabelProfile": "Profile:",
|
||||
"SyncUnwatchedVideosOnly": "Sync unwatched videos only",
|
||||
"AutomaticallySyncNewContent": "Automatically sync new content",
|
||||
"PleaseSelectDeviceToSyncTo": "Please select a device to sync to.",
|
||||
"LabelItemLimit": "Item limit:",
|
||||
"SyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be synced, and videos will be removed from the device as they are watched.",
|
||||
"LabelItemLimitHelp": "Optional. Set a limit to the number of items that will be synced.",
|
||||
"AutomaticallySyncNewContentHelp": "New content added to this folder will be automatically synced to the device.",
|
||||
"ValueSpecialEpisodeName": "Special - {0}",
|
||||
"Share": "Share",
|
||||
"Add": "Hozz\u00e1ad",
|
||||
|
@ -1,4 +1,20 @@
|
||||
{
|
||||
"SyncJobCreated": "Sync job created.",
|
||||
"LabelSyncTo": "Sync to:",
|
||||
"LabelSyncJobName": "Sync job name:",
|
||||
"LabelSyncNoTargetsHelp": "It looks like you don't currently have any apps that support sync.",
|
||||
"LabelQuality": "Quality:",
|
||||
"LearnMore": "Learn more",
|
||||
"DownloadScheduled": "Download scheduled",
|
||||
"LabelBitrateMbps": "Bitrate (Mbps):",
|
||||
"LabelProfile": "Profile:",
|
||||
"SyncUnwatchedVideosOnly": "Sync unwatched videos only",
|
||||
"AutomaticallySyncNewContent": "Automatically sync new content",
|
||||
"PleaseSelectDeviceToSyncTo": "Please select a device to sync to.",
|
||||
"LabelItemLimit": "Item limit:",
|
||||
"SyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be synced, and videos will be removed from the device as they are watched.",
|
||||
"LabelItemLimitHelp": "Optional. Set a limit to the number of items that will be synced.",
|
||||
"AutomaticallySyncNewContentHelp": "New content added to this folder will be automatically synced to the device.",
|
||||
"ValueSpecialEpisodeName": "Special - {0}",
|
||||
"Share": "Share",
|
||||
"Add": "Add",
|
||||
|
@ -1,4 +1,20 @@
|
||||
{
|
||||
"SyncJobCreated": "Sync job created.",
|
||||
"LabelSyncTo": "Sync to:",
|
||||
"LabelSyncJobName": "Sync job name:",
|
||||
"LabelSyncNoTargetsHelp": "It looks like you don't currently have any apps that support sync.",
|
||||
"LabelQuality": "Quality:",
|
||||
"LearnMore": "Learn more",
|
||||
"DownloadScheduled": "Download scheduled",
|
||||
"LabelBitrateMbps": "Bitrate (Mbps):",
|
||||
"LabelProfile": "Profile:",
|
||||
"SyncUnwatchedVideosOnly": "Sync unwatched videos only",
|
||||
"AutomaticallySyncNewContent": "Automatically sync new content",
|
||||
"PleaseSelectDeviceToSyncTo": "Please select a device to sync to.",
|
||||
"LabelItemLimit": "Item limit:",
|
||||
"SyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be synced, and videos will be removed from the device as they are watched.",
|
||||
"LabelItemLimitHelp": "Optional. Set a limit to the number of items that will be synced.",
|
||||
"AutomaticallySyncNewContentHelp": "New content added to this folder will be automatically synced to the device.",
|
||||
"ValueSpecialEpisodeName": "Special - {0}",
|
||||
"Share": "Share",
|
||||
"Add": "Aggiungi",
|
||||
|
@ -1,4 +1,20 @@
|
||||
{
|
||||
"SyncJobCreated": "Sync job created.",
|
||||
"LabelSyncTo": "Sync to:",
|
||||
"LabelSyncJobName": "Sync job name:",
|
||||
"LabelSyncNoTargetsHelp": "It looks like you don't currently have any apps that support sync.",
|
||||
"LabelQuality": "Quality:",
|
||||
"LearnMore": "Learn more",
|
||||
"DownloadScheduled": "Download scheduled",
|
||||
"LabelBitrateMbps": "Bitrate (Mbps):",
|
||||
"LabelProfile": "Profile:",
|
||||
"SyncUnwatchedVideosOnly": "Sync unwatched videos only",
|
||||
"AutomaticallySyncNewContent": "Automatically sync new content",
|
||||
"PleaseSelectDeviceToSyncTo": "Please select a device to sync to.",
|
||||
"LabelItemLimit": "Item limit:",
|
||||
"SyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be synced, and videos will be removed from the device as they are watched.",
|
||||
"LabelItemLimitHelp": "Optional. Set a limit to the number of items that will be synced.",
|
||||
"AutomaticallySyncNewContentHelp": "New content added to this folder will be automatically synced to the device.",
|
||||
"ValueSpecialEpisodeName": "\u0410\u0440\u043d\u0430\u0439\u044b - {0}",
|
||||
"Share": "\u041e\u0440\u0442\u0430\u049b\u0442\u0430\u0441\u0443",
|
||||
"Add": "\u04ae\u0441\u0442\u0435\u0443",
|
||||
|
@ -1,4 +1,20 @@
|
||||
{
|
||||
"SyncJobCreated": "Sync job created.",
|
||||
"LabelSyncTo": "Sync to:",
|
||||
"LabelSyncJobName": "Sync job name:",
|
||||
"LabelSyncNoTargetsHelp": "It looks like you don't currently have any apps that support sync.",
|
||||
"LabelQuality": "Quality:",
|
||||
"LearnMore": "Learn more",
|
||||
"DownloadScheduled": "Download scheduled",
|
||||
"LabelBitrateMbps": "Bitrate (Mbps):",
|
||||
"LabelProfile": "Profile:",
|
||||
"SyncUnwatchedVideosOnly": "Sync unwatched videos only",
|
||||
"AutomaticallySyncNewContent": "Automatically sync new content",
|
||||
"PleaseSelectDeviceToSyncTo": "Please select a device to sync to.",
|
||||
"LabelItemLimit": "Item limit:",
|
||||
"SyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be synced, and videos will be removed from the device as they are watched.",
|
||||
"LabelItemLimitHelp": "Optional. Set a limit to the number of items that will be synced.",
|
||||
"AutomaticallySyncNewContentHelp": "New content added to this folder will be automatically synced to the device.",
|
||||
"ValueSpecialEpisodeName": "Special - {0}",
|
||||
"Share": "Share",
|
||||
"Add": "\ucd94\uac00",
|
||||
|
@ -1,4 +1,20 @@
|
||||
{
|
||||
"SyncJobCreated": "Sync job created.",
|
||||
"LabelSyncTo": "Sync to:",
|
||||
"LabelSyncJobName": "Sync job name:",
|
||||
"LabelSyncNoTargetsHelp": "It looks like you don't currently have any apps that support sync.",
|
||||
"LabelQuality": "Quality:",
|
||||
"LearnMore": "Learn more",
|
||||
"DownloadScheduled": "Download scheduled",
|
||||
"LabelBitrateMbps": "Bitrate (Mbps):",
|
||||
"LabelProfile": "Profile:",
|
||||
"SyncUnwatchedVideosOnly": "Sync unwatched videos only",
|
||||
"AutomaticallySyncNewContent": "Automatically sync new content",
|
||||
"PleaseSelectDeviceToSyncTo": "Please select a device to sync to.",
|
||||
"LabelItemLimit": "Item limit:",
|
||||
"SyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be synced, and videos will be removed from the device as they are watched.",
|
||||
"LabelItemLimitHelp": "Optional. Set a limit to the number of items that will be synced.",
|
||||
"AutomaticallySyncNewContentHelp": "New content added to this folder will be automatically synced to the device.",
|
||||
"ValueSpecialEpisodeName": "Special - {0}",
|
||||
"Share": "Share",
|
||||
"Add": "Add",
|
||||
|
@ -1,4 +1,20 @@
|
||||
{
|
||||
"SyncJobCreated": "Sync job created.",
|
||||
"LabelSyncTo": "Sync to:",
|
||||
"LabelSyncJobName": "Sync job name:",
|
||||
"LabelSyncNoTargetsHelp": "It looks like you don't currently have any apps that support sync.",
|
||||
"LabelQuality": "Quality:",
|
||||
"LearnMore": "Learn more",
|
||||
"DownloadScheduled": "Download scheduled",
|
||||
"LabelBitrateMbps": "Bitrate (Mbps):",
|
||||
"LabelProfile": "Profile:",
|
||||
"SyncUnwatchedVideosOnly": "Sync unwatched videos only",
|
||||
"AutomaticallySyncNewContent": "Automatically sync new content",
|
||||
"PleaseSelectDeviceToSyncTo": "Please select a device to sync to.",
|
||||
"LabelItemLimit": "Item limit:",
|
||||
"SyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be synced, and videos will be removed from the device as they are watched.",
|
||||
"LabelItemLimitHelp": "Optional. Set a limit to the number of items that will be synced.",
|
||||
"AutomaticallySyncNewContentHelp": "New content added to this folder will be automatically synced to the device.",
|
||||
"ValueSpecialEpisodeName": "Spesial - {0}",
|
||||
"Share": "Del",
|
||||
"Add": "Legg til",
|
||||
|
@ -1,4 +1,20 @@
|
||||
{
|
||||
"SyncJobCreated": "Sync job created.",
|
||||
"LabelSyncTo": "Sync to:",
|
||||
"LabelSyncJobName": "Sync job name:",
|
||||
"LabelSyncNoTargetsHelp": "It looks like you don't currently have any apps that support sync.",
|
||||
"LabelQuality": "Quality:",
|
||||
"LearnMore": "Learn more",
|
||||
"DownloadScheduled": "Download scheduled",
|
||||
"LabelBitrateMbps": "Bitrate (Mbps):",
|
||||
"LabelProfile": "Profile:",
|
||||
"SyncUnwatchedVideosOnly": "Sync unwatched videos only",
|
||||
"AutomaticallySyncNewContent": "Automatically sync new content",
|
||||
"PleaseSelectDeviceToSyncTo": "Please select a device to sync to.",
|
||||
"LabelItemLimit": "Item limit:",
|
||||
"SyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be synced, and videos will be removed from the device as they are watched.",
|
||||
"LabelItemLimitHelp": "Optional. Set a limit to the number of items that will be synced.",
|
||||
"AutomaticallySyncNewContentHelp": "New content added to this folder will be automatically synced to the device.",
|
||||
"ValueSpecialEpisodeName": "Speciaal - {0}",
|
||||
"Share": "Delen",
|
||||
"Add": "Toevoegen",
|
||||
|
@ -1,4 +1,20 @@
|
||||
{
|
||||
"SyncJobCreated": "Sync job created.",
|
||||
"LabelSyncTo": "Sync to:",
|
||||
"LabelSyncJobName": "Sync job name:",
|
||||
"LabelSyncNoTargetsHelp": "It looks like you don't currently have any apps that support sync.",
|
||||
"LabelQuality": "Quality:",
|
||||
"LearnMore": "Learn more",
|
||||
"DownloadScheduled": "Download scheduled",
|
||||
"LabelBitrateMbps": "Bitrate (Mbps):",
|
||||
"LabelProfile": "Profile:",
|
||||
"SyncUnwatchedVideosOnly": "Sync unwatched videos only",
|
||||
"AutomaticallySyncNewContent": "Automatically sync new content",
|
||||
"PleaseSelectDeviceToSyncTo": "Please select a device to sync to.",
|
||||
"LabelItemLimit": "Item limit:",
|
||||
"SyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be synced, and videos will be removed from the device as they are watched.",
|
||||
"LabelItemLimitHelp": "Optional. Set a limit to the number of items that will be synced.",
|
||||
"AutomaticallySyncNewContentHelp": "New content added to this folder will be automatically synced to the device.",
|
||||
"ValueSpecialEpisodeName": "Special - {0}",
|
||||
"Share": "Share",
|
||||
"Add": "Dodaj",
|
||||
|
@ -1,4 +1,20 @@
|
||||
{
|
||||
"SyncJobCreated": "Tarefas de sincroniza\u00e7\u00e3o criadas.",
|
||||
"LabelSyncTo": "Sincronizar para:",
|
||||
"LabelSyncJobName": "Nome da tarefa de sincroniza\u00e7\u00e3o:",
|
||||
"LabelSyncNoTargetsHelp": "Parece que voc\u00ea n\u00e3o possui atualmente apps que suportam sincroniza\u00e7\u00e3o.",
|
||||
"LabelQuality": "Qualidade:",
|
||||
"LearnMore": "Saiba mais",
|
||||
"DownloadScheduled": "Download agendado",
|
||||
"LabelBitrateMbps": "Bitrate (Mbps):",
|
||||
"LabelProfile": "Perfil:",
|
||||
"SyncUnwatchedVideosOnly": "Sincronizar apenas v\u00eddeos n\u00e3o assistidos",
|
||||
"AutomaticallySyncNewContent": "Sincronizar novo conte\u00fado automaticamente",
|
||||
"PleaseSelectDeviceToSyncTo": "Por favor selecione um dispositivo para sincronizar.",
|
||||
"LabelItemLimit": "Limites de Itens:",
|
||||
"SyncUnwatchedVideosOnlyHelp": "Apenas v\u00eddeos n\u00e3o assistidos ser\u00e3o sincronizados, e v\u00eddeos ser\u00e3o removidos do dispositivo \u00e0 medida que forem assistidos.",
|
||||
"LabelItemLimitHelp": "Opcional. Defina um limite para o n\u00famero de itens a serem sincronizados.",
|
||||
"AutomaticallySyncNewContentHelp": "Novo conte\u00fado adicionado \u00e0 esta pasta ser\u00e1 automaticamente sincronizado para o dispositivo.",
|
||||
"ValueSpecialEpisodeName": "Especial - {0}",
|
||||
"Share": "Compartilhar",
|
||||
"Add": "Adicionar",
|
||||
|
@ -1,4 +1,20 @@
|
||||
{
|
||||
"SyncJobCreated": "Sync job created.",
|
||||
"LabelSyncTo": "Sync to:",
|
||||
"LabelSyncJobName": "Sync job name:",
|
||||
"LabelSyncNoTargetsHelp": "It looks like you don't currently have any apps that support sync.",
|
||||
"LabelQuality": "Quality:",
|
||||
"LearnMore": "Learn more",
|
||||
"DownloadScheduled": "Download scheduled",
|
||||
"LabelBitrateMbps": "Bitrate (Mbps):",
|
||||
"LabelProfile": "Profile:",
|
||||
"SyncUnwatchedVideosOnly": "Sync unwatched videos only",
|
||||
"AutomaticallySyncNewContent": "Automatically sync new content",
|
||||
"PleaseSelectDeviceToSyncTo": "Please select a device to sync to.",
|
||||
"LabelItemLimit": "Item limit:",
|
||||
"SyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be synced, and videos will be removed from the device as they are watched.",
|
||||
"LabelItemLimitHelp": "Optional. Set a limit to the number of items that will be synced.",
|
||||
"AutomaticallySyncNewContentHelp": "New content added to this folder will be automatically synced to the device.",
|
||||
"ValueSpecialEpisodeName": "Especial - {0}",
|
||||
"Share": "Partilhar",
|
||||
"Add": "Adicionar",
|
||||
|
@ -1,4 +1,20 @@
|
||||
{
|
||||
"SyncJobCreated": "Sync job created.",
|
||||
"LabelSyncTo": "Sync to:",
|
||||
"LabelSyncJobName": "Sync job name:",
|
||||
"LabelSyncNoTargetsHelp": "It looks like you don't currently have any apps that support sync.",
|
||||
"LabelQuality": "Quality:",
|
||||
"LearnMore": "Learn more",
|
||||
"DownloadScheduled": "Download scheduled",
|
||||
"LabelBitrateMbps": "Bitrate (Mbps):",
|
||||
"LabelProfile": "Profile:",
|
||||
"SyncUnwatchedVideosOnly": "Sync unwatched videos only",
|
||||
"AutomaticallySyncNewContent": "Automatically sync new content",
|
||||
"PleaseSelectDeviceToSyncTo": "Please select a device to sync to.",
|
||||
"LabelItemLimit": "Item limit:",
|
||||
"SyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be synced, and videos will be removed from the device as they are watched.",
|
||||
"LabelItemLimitHelp": "Optional. Set a limit to the number of items that will be synced.",
|
||||
"AutomaticallySyncNewContentHelp": "New content added to this folder will be automatically synced to the device.",
|
||||
"ValueSpecialEpisodeName": "Special - {0}",
|
||||
"Share": "Share",
|
||||
"Add": "Add",
|
||||
|
@ -1,4 +1,20 @@
|
||||
{
|
||||
"SyncJobCreated": "Sync job created.",
|
||||
"LabelSyncTo": "Sync to:",
|
||||
"LabelSyncJobName": "Sync job name:",
|
||||
"LabelSyncNoTargetsHelp": "It looks like you don't currently have any apps that support sync.",
|
||||
"LabelQuality": "Quality:",
|
||||
"LearnMore": "Learn more",
|
||||
"DownloadScheduled": "Download scheduled",
|
||||
"LabelBitrateMbps": "Bitrate (Mbps):",
|
||||
"LabelProfile": "Profile:",
|
||||
"SyncUnwatchedVideosOnly": "Sync unwatched videos only",
|
||||
"AutomaticallySyncNewContent": "Automatically sync new content",
|
||||
"PleaseSelectDeviceToSyncTo": "Please select a device to sync to.",
|
||||
"LabelItemLimit": "Item limit:",
|
||||
"SyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be synced, and videos will be removed from the device as they are watched.",
|
||||
"LabelItemLimitHelp": "Optional. Set a limit to the number of items that will be synced.",
|
||||
"AutomaticallySyncNewContentHelp": "New content added to this folder will be automatically synced to the device.",
|
||||
"ValueSpecialEpisodeName": "\u0421\u043f\u0435\u0446\u044d\u043f\u0438\u0437\u043e\u0434 - {0}",
|
||||
"Share": "\u041f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f",
|
||||
"Add": "\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c",
|
||||
|
@ -1,4 +1,20 @@
|
||||
{
|
||||
"SyncJobCreated": "Sync job created.",
|
||||
"LabelSyncTo": "Sync to:",
|
||||
"LabelSyncJobName": "Sync job name:",
|
||||
"LabelSyncNoTargetsHelp": "It looks like you don't currently have any apps that support sync.",
|
||||
"LabelQuality": "Quality:",
|
||||
"LearnMore": "Learn more",
|
||||
"DownloadScheduled": "Download scheduled",
|
||||
"LabelBitrateMbps": "Bitrate (Mbps):",
|
||||
"LabelProfile": "Profile:",
|
||||
"SyncUnwatchedVideosOnly": "Sync unwatched videos only",
|
||||
"AutomaticallySyncNewContent": "Automatically sync new content",
|
||||
"PleaseSelectDeviceToSyncTo": "Please select a device to sync to.",
|
||||
"LabelItemLimit": "Item limit:",
|
||||
"SyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be synced, and videos will be removed from the device as they are watched.",
|
||||
"LabelItemLimitHelp": "Optional. Set a limit to the number of items that will be synced.",
|
||||
"AutomaticallySyncNewContentHelp": "New content added to this folder will be automatically synced to the device.",
|
||||
"ValueSpecialEpisodeName": "Special - {0}",
|
||||
"Share": "Share",
|
||||
"Add": "Add",
|
||||
|
@ -1,4 +1,20 @@
|
||||
{
|
||||
"SyncJobCreated": "Sync job created.",
|
||||
"LabelSyncTo": "Sync to:",
|
||||
"LabelSyncJobName": "Sync job name:",
|
||||
"LabelSyncNoTargetsHelp": "It looks like you don't currently have any apps that support sync.",
|
||||
"LabelQuality": "Quality:",
|
||||
"LearnMore": "Learn more",
|
||||
"DownloadScheduled": "Download scheduled",
|
||||
"LabelBitrateMbps": "Bitrate (Mbps):",
|
||||
"LabelProfile": "Profile:",
|
||||
"SyncUnwatchedVideosOnly": "Sync unwatched videos only",
|
||||
"AutomaticallySyncNewContent": "Automatically sync new content",
|
||||
"PleaseSelectDeviceToSyncTo": "Please select a device to sync to.",
|
||||
"LabelItemLimit": "Item limit:",
|
||||
"SyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be synced, and videos will be removed from the device as they are watched.",
|
||||
"LabelItemLimitHelp": "Optional. Set a limit to the number of items that will be synced.",
|
||||
"AutomaticallySyncNewContentHelp": "New content added to this folder will be automatically synced to the device.",
|
||||
"ValueSpecialEpisodeName": "Special - {0}",
|
||||
"Share": "Share",
|
||||
"Add": "Add",
|
||||
|
@ -1,4 +1,20 @@
|
||||
{
|
||||
"SyncJobCreated": "Sync job created.",
|
||||
"LabelSyncTo": "Sync to:",
|
||||
"LabelSyncJobName": "Sync job name:",
|
||||
"LabelSyncNoTargetsHelp": "It looks like you don't currently have any apps that support sync.",
|
||||
"LabelQuality": "Quality:",
|
||||
"LearnMore": "Learn more",
|
||||
"DownloadScheduled": "Download scheduled",
|
||||
"LabelBitrateMbps": "Bitrate (Mbps):",
|
||||
"LabelProfile": "Profile:",
|
||||
"SyncUnwatchedVideosOnly": "Sync unwatched videos only",
|
||||
"AutomaticallySyncNewContent": "Automatically sync new content",
|
||||
"PleaseSelectDeviceToSyncTo": "Please select a device to sync to.",
|
||||
"LabelItemLimit": "Item limit:",
|
||||
"SyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be synced, and videos will be removed from the device as they are watched.",
|
||||
"LabelItemLimitHelp": "Optional. Set a limit to the number of items that will be synced.",
|
||||
"AutomaticallySyncNewContentHelp": "New content added to this folder will be automatically synced to the device.",
|
||||
"ValueSpecialEpisodeName": "Specialavsnitt - {0}",
|
||||
"Share": "Dela",
|
||||
"Add": "L\u00e4gg till",
|
||||
|
@ -1,4 +1,20 @@
|
||||
{
|
||||
"SyncJobCreated": "Sync job created.",
|
||||
"LabelSyncTo": "Sync to:",
|
||||
"LabelSyncJobName": "Sync job name:",
|
||||
"LabelSyncNoTargetsHelp": "It looks like you don't currently have any apps that support sync.",
|
||||
"LabelQuality": "Quality:",
|
||||
"LearnMore": "Learn more",
|
||||
"DownloadScheduled": "Download scheduled",
|
||||
"LabelBitrateMbps": "Bitrate (Mbps):",
|
||||
"LabelProfile": "Profile:",
|
||||
"SyncUnwatchedVideosOnly": "Sync unwatched videos only",
|
||||
"AutomaticallySyncNewContent": "Automatically sync new content",
|
||||
"PleaseSelectDeviceToSyncTo": "Please select a device to sync to.",
|
||||
"LabelItemLimit": "Item limit:",
|
||||
"SyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be synced, and videos will be removed from the device as they are watched.",
|
||||
"LabelItemLimitHelp": "Optional. Set a limit to the number of items that will be synced.",
|
||||
"AutomaticallySyncNewContentHelp": "New content added to this folder will be automatically synced to the device.",
|
||||
"ValueSpecialEpisodeName": "Special - {0}",
|
||||
"Share": "Share",
|
||||
"Add": "Ekle",
|
||||
|
@ -1,4 +1,20 @@
|
||||
{
|
||||
"SyncJobCreated": "Sync job created.",
|
||||
"LabelSyncTo": "Sync to:",
|
||||
"LabelSyncJobName": "Sync job name:",
|
||||
"LabelSyncNoTargetsHelp": "It looks like you don't currently have any apps that support sync.",
|
||||
"LabelQuality": "Quality:",
|
||||
"LearnMore": "Learn more",
|
||||
"DownloadScheduled": "Download scheduled",
|
||||
"LabelBitrateMbps": "Bitrate (Mbps):",
|
||||
"LabelProfile": "Profile:",
|
||||
"SyncUnwatchedVideosOnly": "Sync unwatched videos only",
|
||||
"AutomaticallySyncNewContent": "Automatically sync new content",
|
||||
"PleaseSelectDeviceToSyncTo": "Please select a device to sync to.",
|
||||
"LabelItemLimit": "Item limit:",
|
||||
"SyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be synced, and videos will be removed from the device as they are watched.",
|
||||
"LabelItemLimitHelp": "Optional. Set a limit to the number of items that will be synced.",
|
||||
"AutomaticallySyncNewContentHelp": "New content added to this folder will be automatically synced to the device.",
|
||||
"ValueSpecialEpisodeName": "Special - {0}",
|
||||
"Share": "Share",
|
||||
"Add": "Add",
|
||||
|
@ -1,4 +1,20 @@
|
||||
{
|
||||
"SyncJobCreated": "Sync job created.",
|
||||
"LabelSyncTo": "Sync to:",
|
||||
"LabelSyncJobName": "Sync job name:",
|
||||
"LabelSyncNoTargetsHelp": "It looks like you don't currently have any apps that support sync.",
|
||||
"LabelQuality": "Quality:",
|
||||
"LearnMore": "Learn more",
|
||||
"DownloadScheduled": "Download scheduled",
|
||||
"LabelBitrateMbps": "Bitrate (Mbps):",
|
||||
"LabelProfile": "Profile:",
|
||||
"SyncUnwatchedVideosOnly": "Sync unwatched videos only",
|
||||
"AutomaticallySyncNewContent": "Automatically sync new content",
|
||||
"PleaseSelectDeviceToSyncTo": "Please select a device to sync to.",
|
||||
"LabelItemLimit": "Item limit:",
|
||||
"SyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be synced, and videos will be removed from the device as they are watched.",
|
||||
"LabelItemLimitHelp": "Optional. Set a limit to the number of items that will be synced.",
|
||||
"AutomaticallySyncNewContentHelp": "New content added to this folder will be automatically synced to the device.",
|
||||
"ValueSpecialEpisodeName": "Special - {0}",
|
||||
"Share": "Share",
|
||||
"Add": "Th\u00eam",
|
||||
|
@ -1,4 +1,20 @@
|
||||
{
|
||||
"SyncJobCreated": "Sync job created.",
|
||||
"LabelSyncTo": "Sync to:",
|
||||
"LabelSyncJobName": "Sync job name:",
|
||||
"LabelSyncNoTargetsHelp": "It looks like you don't currently have any apps that support sync.",
|
||||
"LabelQuality": "Quality:",
|
||||
"LearnMore": "Learn more",
|
||||
"DownloadScheduled": "Download scheduled",
|
||||
"LabelBitrateMbps": "Bitrate (Mbps):",
|
||||
"LabelProfile": "Profile:",
|
||||
"SyncUnwatchedVideosOnly": "Sync unwatched videos only",
|
||||
"AutomaticallySyncNewContent": "Automatically sync new content",
|
||||
"PleaseSelectDeviceToSyncTo": "Please select a device to sync to.",
|
||||
"LabelItemLimit": "Item limit:",
|
||||
"SyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be synced, and videos will be removed from the device as they are watched.",
|
||||
"LabelItemLimitHelp": "Optional. Set a limit to the number of items that will be synced.",
|
||||
"AutomaticallySyncNewContentHelp": "New content added to this folder will be automatically synced to the device.",
|
||||
"ValueSpecialEpisodeName": "Special - {0}",
|
||||
"Share": "Share",
|
||||
"Add": "\u6dfb\u52a0",
|
||||
|
@ -1,4 +1,20 @@
|
||||
{
|
||||
"SyncJobCreated": "Sync job created.",
|
||||
"LabelSyncTo": "Sync to:",
|
||||
"LabelSyncJobName": "Sync job name:",
|
||||
"LabelSyncNoTargetsHelp": "It looks like you don't currently have any apps that support sync.",
|
||||
"LabelQuality": "Quality:",
|
||||
"LearnMore": "Learn more",
|
||||
"DownloadScheduled": "Download scheduled",
|
||||
"LabelBitrateMbps": "Bitrate (Mbps):",
|
||||
"LabelProfile": "Profile:",
|
||||
"SyncUnwatchedVideosOnly": "Sync unwatched videos only",
|
||||
"AutomaticallySyncNewContent": "Automatically sync new content",
|
||||
"PleaseSelectDeviceToSyncTo": "Please select a device to sync to.",
|
||||
"LabelItemLimit": "Item limit:",
|
||||
"SyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be synced, and videos will be removed from the device as they are watched.",
|
||||
"LabelItemLimitHelp": "Optional. Set a limit to the number of items that will be synced.",
|
||||
"AutomaticallySyncNewContentHelp": "New content added to this folder will be automatically synced to the device.",
|
||||
"ValueSpecialEpisodeName": "Special - {0}",
|
||||
"Share": "Share",
|
||||
"Add": "\u65b0\u589e",
|
||||
|
@ -1,4 +1,20 @@
|
||||
{
|
||||
"SyncJobCreated": "Sync job created.",
|
||||
"LabelSyncTo": "Sync to:",
|
||||
"LabelSyncJobName": "Sync job name:",
|
||||
"LabelSyncNoTargetsHelp": "It looks like you don't currently have any apps that support sync.",
|
||||
"LabelQuality": "Quality:",
|
||||
"LearnMore": "Learn more",
|
||||
"DownloadScheduled": "Download scheduled",
|
||||
"LabelBitrateMbps": "Bitrate (Mbps):",
|
||||
"LabelProfile": "Profile:",
|
||||
"SyncUnwatchedVideosOnly": "Sync unwatched videos only",
|
||||
"AutomaticallySyncNewContent": "Automatically sync new content",
|
||||
"PleaseSelectDeviceToSyncTo": "Please select a device to sync to.",
|
||||
"LabelItemLimit": "Item limit:",
|
||||
"SyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be synced, and videos will be removed from the device as they are watched.",
|
||||
"LabelItemLimitHelp": "Optional. Set a limit to the number of items that will be synced.",
|
||||
"AutomaticallySyncNewContentHelp": "New content added to this folder will be automatically synced to the device.",
|
||||
"ValueSpecialEpisodeName": "Special - {0}",
|
||||
"Share": "\u5206\u4eab",
|
||||
"Add": "\u6dfb\u52a0",
|
||||
|
613
dashboard-ui/bower_components/emby-webcomponents/sync/sync.js
vendored
Normal file
613
dashboard-ui/bower_components/emby-webcomponents/sync/sync.js
vendored
Normal file
@ -0,0 +1,613 @@
|
||||
define(['apphost', 'globalize', 'connectionManager', 'layoutManager', 'shell', 'focusManager', 'scrollHelper', 'appSettings', 'paper-icon-button-light', 'formDialogStyle'], function (appHost, globalize, connectionManager, layoutManager, shell, focusManager, scrollHelper, appSettings) {
|
||||
|
||||
var currentDialogOptions;
|
||||
|
||||
function submitJob(dlg, apiClient, userId, syncOptions, form, dialogHelper) {
|
||||
|
||||
if (!userId) {
|
||||
throw new Error('userId cannot be null');
|
||||
}
|
||||
|
||||
if (!syncOptions) {
|
||||
throw new Error('syncOptions cannot be null');
|
||||
}
|
||||
|
||||
if (!form) {
|
||||
throw new Error('form cannot be null');
|
||||
}
|
||||
|
||||
var selectSyncTarget = form.querySelector('#selectSyncTarget');
|
||||
var target = selectSyncTarget ? selectSyncTarget.value : null;
|
||||
|
||||
if (!target) {
|
||||
|
||||
require(['toast'], function (toast) {
|
||||
toast(globalize.translate('sharedcomponents#PleaseSelectDeviceToSyncTo'));
|
||||
});
|
||||
return false;
|
||||
}
|
||||
|
||||
var options = {
|
||||
|
||||
userId: userId,
|
||||
TargetId: target,
|
||||
|
||||
ParentId: syncOptions.ParentId,
|
||||
Category: syncOptions.Category
|
||||
};
|
||||
|
||||
setJobValues(options, form);
|
||||
|
||||
if (syncOptions.items && syncOptions.items.length) {
|
||||
options.ItemIds = (syncOptions.items || []).map(function (i) {
|
||||
return i.Id || i;
|
||||
}).join(',');
|
||||
}
|
||||
|
||||
apiClient.ajax({
|
||||
|
||||
type: "POST",
|
||||
url: apiClient.getUrl("Sync/Jobs"),
|
||||
data: JSON.stringify(options),
|
||||
contentType: "application/json",
|
||||
dataType: 'json'
|
||||
|
||||
}).then(function () {
|
||||
|
||||
dialogHelper.close(dlg);
|
||||
require(['toast'], function (toast) {
|
||||
|
||||
var msg = target == apiClient.deviceId() ? globalize.translate('sharedcomponents#DownloadScheduled') : globalize.translate('sharedcomponents#SyncJobCreated');
|
||||
|
||||
toast(msg);
|
||||
});
|
||||
});
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
function submitQuickSyncJob(apiClient, userId, targetId, syncOptions) {
|
||||
|
||||
if (!userId) {
|
||||
throw new Error('userId cannot be null');
|
||||
}
|
||||
|
||||
if (!syncOptions) {
|
||||
throw new Error('syncOptions cannot be null');
|
||||
}
|
||||
|
||||
if (!targetId) {
|
||||
throw new Error('targetId cannot be null');
|
||||
}
|
||||
|
||||
var options = {
|
||||
|
||||
userId: userId,
|
||||
TargetId: targetId,
|
||||
|
||||
ParentId: syncOptions.ParentId,
|
||||
Category: syncOptions.Category,
|
||||
Quality: syncOptions.Quality,
|
||||
Bitrate: syncOptions.Bitrate
|
||||
};
|
||||
|
||||
if (syncOptions.items && syncOptions.items.length) {
|
||||
options.ItemIds = (syncOptions.items || []).map(function (i) {
|
||||
return i.Id || i;
|
||||
}).join(',');
|
||||
}
|
||||
|
||||
return apiClient.ajax({
|
||||
|
||||
type: "POST",
|
||||
url: apiClient.getUrl("Sync/Jobs"),
|
||||
data: JSON.stringify(options),
|
||||
contentType: "application/json",
|
||||
dataType: 'json'
|
||||
|
||||
}).then(function () {
|
||||
|
||||
require(['toast'], function (toast) {
|
||||
|
||||
var msg = targetId == apiClient.deviceId() ? globalize.translate('sharedcomponents#DownloadScheduled') : globalize.translate('sharedcomponents#SyncJobCreated');
|
||||
|
||||
toast(msg);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function setJobValues(job, form) {
|
||||
|
||||
var txtBitrate = form.querySelector('#txtBitrate');
|
||||
var bitrate = txtBitrate ? txtBitrate.value : null;
|
||||
|
||||
if (bitrate) {
|
||||
bitrate = parseFloat(bitrate) * 1000000;
|
||||
}
|
||||
job.Bitrate = bitrate;
|
||||
|
||||
var txtSyncJobName = form.querySelector('#txtSyncJobName');
|
||||
if (txtSyncJobName) {
|
||||
job.Name = txtSyncJobName.value;
|
||||
}
|
||||
|
||||
var selectQuality = form.querySelector('#selectQuality');
|
||||
if (selectQuality) {
|
||||
job.Quality = selectQuality.value;
|
||||
}
|
||||
|
||||
var selectProfile = form.querySelector('#selectProfile');
|
||||
if (selectProfile) {
|
||||
job.Profile = selectProfile.value;
|
||||
}
|
||||
|
||||
var txtItemLimit = form.querySelector('#txtItemLimit');
|
||||
if (txtItemLimit) {
|
||||
job.ItemLimit = txtItemLimit.value || null;
|
||||
}
|
||||
|
||||
var chkSyncNewContent = form.querySelector('#chkSyncNewContent');
|
||||
if (chkSyncNewContent) {
|
||||
job.SyncNewContent = chkSyncNewContent.checked;
|
||||
}
|
||||
|
||||
var chkUnwatchedOnly = form.querySelector('#chkUnwatchedOnly');
|
||||
if (chkUnwatchedOnly) {
|
||||
job.UnwatchedOnly = chkUnwatchedOnly.checked;
|
||||
}
|
||||
}
|
||||
|
||||
function renderForm(options) {
|
||||
|
||||
return new Promise(function (resolve, reject) {
|
||||
|
||||
require(['emby-checkbox', 'emby-input', 'emby-select'], function () {
|
||||
|
||||
appHost.appInfo().then(function (appInfo) {
|
||||
renderFormInternal(options, appInfo, resolve);
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function onHelpLinkClick(e) {
|
||||
|
||||
shell.openUrl(this.href);
|
||||
|
||||
e.preventDefault();
|
||||
return false;
|
||||
}
|
||||
|
||||
function renderFormInternal(options, appInfo, resolve) {
|
||||
|
||||
var elem = options.elem;
|
||||
var dialogOptions = options.dialogOptions;
|
||||
|
||||
var targets = dialogOptions.Targets;
|
||||
|
||||
var html = '';
|
||||
|
||||
var targetContainerClass = options.isLocalSync ? ' hide' : '';
|
||||
|
||||
if (options.showName || dialogOptions.Options.indexOf('Name') != -1) {
|
||||
|
||||
html += '<div class="inputContainer' + targetContainerClass + '">';
|
||||
html += '<input is="emby-input" type="text" id="txtSyncJobName" class="txtSyncJobName" required="required" label="' + globalize.translate('sharedcomponents#LabelSyncJobName') + '"/>';
|
||||
html += '</div>';
|
||||
}
|
||||
|
||||
if (options.readOnlySyncTarget) {
|
||||
html += '<div class="inputContainer' + targetContainerClass + '">';
|
||||
html += '<input is="emby-input" type="text" id="selectSyncTarget" readonly label="' + globalize.translate('sharedcomponents#LabelSyncTo') + '"/>';
|
||||
html += '</div>';
|
||||
} else {
|
||||
html += '<div class="selectContainer' + targetContainerClass + '">';
|
||||
html += '<select is="emby-select" id="selectSyncTarget" required="required" label="' + globalize.translate('sharedcomponents#LabelSyncTo') + '">';
|
||||
|
||||
html += targets.map(function (t) {
|
||||
|
||||
var isSelected = t.Id == appInfo.deviceId;
|
||||
var selectedHtml = isSelected ? ' selected="selected"' : '';
|
||||
return '<option' + selectedHtml + ' value="' + t.Id + '">' + t.Name + '</option>';
|
||||
|
||||
}).join('');
|
||||
html += '</select>';
|
||||
if (!targets.length) {
|
||||
html += '<div class="fieldDescription">' + globalize.translate('sharedcomponents#LabelSyncNoTargetsHelp') + '</div>';
|
||||
html += '<div class="fieldDescription"><a class="lnkLearnMore" href="https://github.com/MediaBrowser/Wiki/wiki/Sync" target="_blank">' + globalize.translate('sharedcomponents#LearnMore') + '</a></div>';
|
||||
}
|
||||
html += '</div>';
|
||||
}
|
||||
|
||||
html += '<div class="fldProfile selectContainer hide">';
|
||||
html += '<select is="emby-select" id="selectProfile" label="' + globalize.translate('sharedcomponents#LabelProfile') + '">';
|
||||
html += '</select>';
|
||||
html += '<div class="fieldDescription profileDescription"></div>';
|
||||
html += '</div>';
|
||||
|
||||
html += '<div class="fldQuality selectContainer hide">';
|
||||
html += '<select is="emby-select" id="selectQuality" data-mini="true" required="required" label="' + globalize.translate('sharedcomponents#LabelQuality') + '">';
|
||||
html += '</select>';
|
||||
html += '<div class="fieldDescription qualityDescription"></div>';
|
||||
html += '</div>';
|
||||
|
||||
html += '<div class="fldBitrate inputContainer hide">';
|
||||
html += '<input is="emby-input" type="number" step=".1" min=".1" id="txtBitrate" label="' + globalize.translate('sharedcomponents#LabelBitrateMbps') + '"/>';
|
||||
html += '</div>';
|
||||
|
||||
if (dialogOptions.Options.indexOf('UnwatchedOnly') != -1) {
|
||||
html += '<div class="checkboxContainer checkboxContainer-withDescription">';
|
||||
html += '<label>';
|
||||
html += '<input is="emby-checkbox" type="checkbox" id="chkUnwatchedOnly"/>';
|
||||
html += '<span>' + globalize.translate('sharedcomponents#SyncUnwatchedVideosOnly') + '</span>';
|
||||
html += '</label>';
|
||||
html += '<div class="fieldDescription checkboxFieldDescription">' + globalize.translate('sharedcomponents#SyncUnwatchedVideosOnlyHelp') + '</div>';
|
||||
html += '</div>';
|
||||
}
|
||||
|
||||
if (dialogOptions.Options.indexOf('SyncNewContent') != -1) {
|
||||
html += '<div class="checkboxContainer checkboxContainer-withDescription">';
|
||||
html += '<label>';
|
||||
html += '<input is="emby-checkbox" type="checkbox" id="chkSyncNewContent"/>';
|
||||
html += '<span>' + globalize.translate('sharedcomponents#AutomaticallySyncNewContent') + '</span>';
|
||||
html += '</label>';
|
||||
html += '<div class="fieldDescription checkboxFieldDescription">' + globalize.translate('sharedcomponents#AutomaticallySyncNewContentHelp') + '</div>';
|
||||
html += '</div>';
|
||||
}
|
||||
|
||||
if (dialogOptions.Options.indexOf('ItemLimit') != -1) {
|
||||
html += '<div class="inputContainer">';
|
||||
html += '<input is="emby-input" type="number" step="1" min="1" id="txtItemLimit" label="' + globalize.translate('sharedcomponents#LabelItemLimit') + '"/>';
|
||||
html += '<div class="fieldDescription">' + globalize.translate('sharedcomponents#LabelItemLimitHelp') + '</div>';
|
||||
html += '</div>';
|
||||
}
|
||||
|
||||
//html += '</div>';
|
||||
//html += '</div>';
|
||||
|
||||
elem.innerHTML = html;
|
||||
|
||||
var selectSyncTarget = elem.querySelector('#selectSyncTarget');
|
||||
if (selectSyncTarget) {
|
||||
selectSyncTarget.addEventListener('change', function () {
|
||||
loadQualityOptions(elem, this.value, options.dialogOptionsFn).then(resolve);
|
||||
});
|
||||
selectSyncTarget.dispatchEvent(new CustomEvent('change', {
|
||||
bubbles: true
|
||||
}));
|
||||
}
|
||||
|
||||
var selectProfile = elem.querySelector('#selectProfile');
|
||||
if (selectProfile) {
|
||||
selectProfile.addEventListener('change', function () {
|
||||
onProfileChange(elem, this.value);
|
||||
});
|
||||
selectProfile.dispatchEvent(new CustomEvent('change', {
|
||||
bubbles: true
|
||||
}));
|
||||
}
|
||||
|
||||
var selectQuality = elem.querySelector('#selectQuality');
|
||||
if (selectQuality) {
|
||||
selectQuality.addEventListener('change', function () {
|
||||
onQualityChange(elem, this.value);
|
||||
});
|
||||
selectQuality.dispatchEvent(new CustomEvent('change', {
|
||||
bubbles: true
|
||||
}));
|
||||
}
|
||||
|
||||
var lnkLearnMore = elem.querySelector('.lnkLearnMore');
|
||||
if (lnkLearnMore) {
|
||||
lnkLearnMore.addEventListener('click', onHelpLinkClick);
|
||||
}
|
||||
|
||||
// This isn't ideal, but allow time for the change handlers above to run
|
||||
setTimeout(function () {
|
||||
focusManager.autoFocus(elem);
|
||||
}, 100);
|
||||
}
|
||||
|
||||
function showSyncMenu(options) {
|
||||
|
||||
return new Promise(function (resolve, reject) {
|
||||
|
||||
require(["registrationservices", 'dialogHelper', 'formDialogStyle'], function (registrationServices, dialogHelper) {
|
||||
registrationServices.validateFeature('sync').then(function () {
|
||||
|
||||
showSyncMenuInternal(dialogHelper, options).then(resolve, reject);
|
||||
|
||||
}, reject);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function enableAutoSync(options) {
|
||||
|
||||
if (!options.isLocalSync) {
|
||||
return false;
|
||||
}
|
||||
|
||||
var firstItem = (options.items || [])[0] || {};
|
||||
|
||||
if (firstItem.Type == 'Audio') {
|
||||
return true;
|
||||
}
|
||||
if (firstItem.Type == 'MusicAlbum') {
|
||||
return true;
|
||||
}
|
||||
if (firstItem.Type == 'MusicArtist') {
|
||||
return true;
|
||||
}
|
||||
if (firstItem.Type == 'MusicGenre') {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
function showSyncMenuInternal(dialogHelper, options) {
|
||||
|
||||
var apiClient = connectionManager.getApiClient(options.serverId);
|
||||
var userId = apiClient.getCurrentUserId();
|
||||
|
||||
if (enableAutoSync(options)) {
|
||||
|
||||
return submitQuickSyncJob(apiClient, userId, apiClient.deviceId(), {
|
||||
items: options.items,
|
||||
Quality: 'custom',
|
||||
Bitrate: appSettings.maxStaticMusicBitrate()
|
||||
});
|
||||
}
|
||||
|
||||
var dialogOptionsQuery = {
|
||||
UserId: userId,
|
||||
ItemIds: (options.items || []).map(function (i) {
|
||||
return i.Id || i;
|
||||
}).join(','),
|
||||
|
||||
ParentId: options.ParentId,
|
||||
Category: options.Category
|
||||
};
|
||||
|
||||
return apiClient.getJSON(apiClient.getUrl('Sync/Options', dialogOptionsQuery)).then(function (dialogOptions) {
|
||||
|
||||
currentDialogOptions = dialogOptions;
|
||||
|
||||
var dlgElementOptions = {
|
||||
removeOnClose: true,
|
||||
scrollY: false,
|
||||
autoFocus: false
|
||||
};
|
||||
|
||||
if (layoutManager.tv) {
|
||||
dlgElementOptions.size = 'fullscreen';
|
||||
} else {
|
||||
dlgElementOptions.size = 'small';
|
||||
}
|
||||
|
||||
var dlg = dialogHelper.createDialog(dlgElementOptions);
|
||||
|
||||
dlg.classList.add('formDialog');
|
||||
|
||||
var html = '';
|
||||
html += '<div class="formDialogHeader">';
|
||||
html += '<button is="paper-icon-button-light" class="btnCancel autoSize" tabindex="-1"><i class="md-icon"></i></button>';
|
||||
html += '<div class="formDialogHeaderTitle">';
|
||||
html += globalize.translate('sharedcomponents#Sync');
|
||||
html += '</div>';
|
||||
|
||||
html += '<a href="https://github.com/MediaBrowser/Wiki/wiki/Sync" target="_blank" class="clearLink lnkHelp" style="margin-top:0;display:inline-block;vertical-align:middle;margin-left:auto;"><button is="emby-button" type="button" class="mini"><i class="md-icon">info</i><span>' + globalize.translate('sharedcomponents#Help') + '</span></button></a>';
|
||||
|
||||
html += '</div>';
|
||||
|
||||
html += '<div class="formDialogContent smoothScrollY" style="padding-top:2em;">';
|
||||
html += '<div class="dialogContentInner dialog-content-centered">';
|
||||
|
||||
html += '<form class="formSubmitSyncRequest" style="margin: auto;">';
|
||||
|
||||
html += '<div class="formFields"></div>';
|
||||
|
||||
html += '<p>';
|
||||
html += '<button is="emby-button" type="submit" class="raised submit block"><i class="md-icon">sync</i><span>' + globalize.translate('sharedcomponents#Sync') + '</span></button>';
|
||||
html += '</p>';
|
||||
|
||||
html += '</form>';
|
||||
|
||||
html += '</div>';
|
||||
html += '</div>';
|
||||
|
||||
dlg.innerHTML = html;
|
||||
|
||||
dlg.querySelector('.lnkHelp').addEventListener('click', onHelpLinkClick);
|
||||
|
||||
document.body.appendChild(dlg);
|
||||
var submitted = false;
|
||||
|
||||
dlg.querySelector('form').addEventListener('submit', function (e) {
|
||||
|
||||
submitted = submitJob(dlg, apiClient, userId, options, this, dialogHelper);
|
||||
|
||||
e.preventDefault();
|
||||
return false;
|
||||
});
|
||||
|
||||
dlg.querySelector('.btnCancel').addEventListener('click', function () {
|
||||
dialogHelper.close(dlg);
|
||||
});
|
||||
|
||||
if (layoutManager.tv) {
|
||||
scrollHelper.centerFocus.on(dlg.querySelector('.formDialogContent'), false);
|
||||
}
|
||||
|
||||
var promise = dialogHelper.open(dlg);
|
||||
|
||||
renderForm({
|
||||
elem: dlg.querySelector('.formFields'),
|
||||
dialogOptions: dialogOptions,
|
||||
dialogOptionsFn: getTargetDialogOptionsFn(apiClient, dialogOptionsQuery),
|
||||
isLocalSync: options.isLocalSync
|
||||
});
|
||||
|
||||
return promise.then(function () {
|
||||
if (submitted) {
|
||||
return Promise.resolve();
|
||||
}
|
||||
return Promise.reject();
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function getTargetDialogOptionsFn(apiClient, query) {
|
||||
|
||||
return function (targetId) {
|
||||
|
||||
query.TargetId = targetId;
|
||||
return apiClient.getJSON(apiClient.getUrl('Sync/Options', query));
|
||||
};
|
||||
}
|
||||
|
||||
function setQualityFieldVisible(form, visible) {
|
||||
|
||||
var fldQuality = form.querySelector('.fldQuality');
|
||||
var selectQuality = form.querySelector('#selectQuality');
|
||||
|
||||
if (visible) {
|
||||
if (fldQuality) {
|
||||
fldQuality.classList.remove('hide');
|
||||
}
|
||||
if (selectQuality) {
|
||||
selectQuality.setAttribute('required', 'required');
|
||||
}
|
||||
} else {
|
||||
if (fldQuality) {
|
||||
fldQuality.classList.add('hide');
|
||||
}
|
||||
if (selectQuality) {
|
||||
selectQuality.removeAttribute('required');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function onProfileChange(form, profileId) {
|
||||
|
||||
var options = currentDialogOptions || {};
|
||||
var option = (options.ProfileOptions || []).filter(function (o) {
|
||||
return o.Id == profileId;
|
||||
})[0];
|
||||
|
||||
var qualityOptions = options.QualityOptions || [];
|
||||
|
||||
if (option) {
|
||||
form.querySelector('.profileDescription').innerHTML = option.Description || '';
|
||||
setQualityFieldVisible(form, qualityOptions.length > 0 && option.EnableQualityOptions && options.Options.indexOf('Quality') != -1);
|
||||
} else {
|
||||
form.querySelector('.profileDescription').innerHTML = '';
|
||||
setQualityFieldVisible(form, qualityOptions.length > 0 && options.Options.indexOf('Quality') != -1);
|
||||
}
|
||||
}
|
||||
|
||||
function onQualityChange(form, qualityId) {
|
||||
|
||||
var options = currentDialogOptions || {};
|
||||
var option = (options.QualityOptions || []).filter(function (o) {
|
||||
return o.Id == qualityId;
|
||||
})[0];
|
||||
|
||||
var qualityDescription = form.querySelector('.qualityDescription');
|
||||
|
||||
if (option) {
|
||||
qualityDescription.innerHTML = option.Description || '';
|
||||
} else {
|
||||
qualityDescription.innerHTML = '';
|
||||
}
|
||||
|
||||
var fldBitrate = form.querySelector('.fldBitrate');
|
||||
var txtBitrate = form.querySelector('#txtBitrate');
|
||||
|
||||
if (qualityId == 'custom') {
|
||||
|
||||
if (fldBitrate) {
|
||||
fldBitrate.classList.remove('hide');
|
||||
}
|
||||
if (txtBitrate) {
|
||||
txtBitrate.setAttribute('required', 'required');
|
||||
}
|
||||
} else {
|
||||
if (fldBitrate) {
|
||||
fldBitrate.classList.add('hide');
|
||||
}
|
||||
if (txtBitrate) {
|
||||
txtBitrate.removeAttribute('required');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function renderTargetDialogOptions(form, options) {
|
||||
|
||||
currentDialogOptions = options;
|
||||
|
||||
var fldProfile = form.querySelector('.fldProfile');
|
||||
var selectProfile = form.querySelector('#selectProfile');
|
||||
|
||||
if (options.ProfileOptions.length && options.Options.indexOf('Profile') != -1) {
|
||||
if (fldProfile) {
|
||||
fldProfile.classList.remove('hide');
|
||||
}
|
||||
if (selectProfile) {
|
||||
selectProfile.setAttribute('required', 'required');
|
||||
}
|
||||
} else {
|
||||
if (fldProfile) {
|
||||
fldProfile.classList.add('hide');
|
||||
}
|
||||
if (selectProfile) {
|
||||
selectProfile.removeAttribute('required');
|
||||
}
|
||||
}
|
||||
|
||||
setQualityFieldVisible(form, options.QualityOptions.length > 0);
|
||||
|
||||
if (selectProfile) {
|
||||
selectProfile.innerHTML = options.ProfileOptions.map(function (o) {
|
||||
|
||||
var selectedAttribute = o.IsDefault ? ' selected="selected"' : '';
|
||||
return '<option value="' + o.Id + '"' + selectedAttribute + '>' + o.Name + '</option>';
|
||||
|
||||
}).join('');
|
||||
|
||||
selectProfile.dispatchEvent(new CustomEvent('change', {
|
||||
bubbles: true
|
||||
}));
|
||||
}
|
||||
|
||||
var selectQuality = form.querySelector('#selectQuality');
|
||||
if (selectQuality) {
|
||||
selectQuality.innerHTML = options.QualityOptions.map(function (o) {
|
||||
|
||||
var selectedAttribute = o.IsDefault ? ' selected="selected"' : '';
|
||||
return '<option value="' + o.Id + '"' + selectedAttribute + '>' + o.Name + '</option>';
|
||||
|
||||
}).join('');
|
||||
|
||||
selectQuality.dispatchEvent(new CustomEvent('change', {
|
||||
bubbles: true
|
||||
}));
|
||||
}
|
||||
}
|
||||
|
||||
function loadQualityOptions(form, targetId, dialogOptionsFn) {
|
||||
|
||||
return dialogOptionsFn(targetId).then(function (options) {
|
||||
|
||||
return renderTargetDialogOptions(form, options);
|
||||
});
|
||||
}
|
||||
|
||||
return {
|
||||
|
||||
showMenu: showSyncMenu,
|
||||
renderForm: renderForm,
|
||||
setJobValues: setJobValues
|
||||
};
|
||||
});
|
@ -26,14 +26,14 @@
|
||||
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
|
||||
},
|
||||
"main": "iron-meta.html",
|
||||
"homepage": "https://github.com/polymerelements/iron-meta",
|
||||
"homepage": "https://github.com/PolymerElements/iron-meta",
|
||||
"_release": "1.1.1",
|
||||
"_resolution": {
|
||||
"type": "version",
|
||||
"tag": "v1.1.1",
|
||||
"commit": "e171ee234b482219c9514e6f9551df48ef48bd9f"
|
||||
},
|
||||
"_source": "git://github.com/polymerelements/iron-meta.git",
|
||||
"_source": "git://github.com/PolymerElements/iron-meta.git",
|
||||
"_target": "^1.0.0",
|
||||
"_originalSource": "polymerelements/iron-meta"
|
||||
"_originalSource": "PolymerElements/iron-meta"
|
||||
}
|
@ -32,14 +32,14 @@
|
||||
"iron-component-page": "polymerElements/iron-component-page#^1.1.6"
|
||||
},
|
||||
"private": true,
|
||||
"homepage": "https://github.com/Polymer/polymer",
|
||||
"homepage": "https://github.com/polymer/polymer",
|
||||
"_release": "1.6.1",
|
||||
"_resolution": {
|
||||
"type": "version",
|
||||
"tag": "v1.6.1",
|
||||
"commit": "1f197d9d7874b1e5808b2a5c26f34446a7d912fc"
|
||||
},
|
||||
"_source": "git://github.com/Polymer/polymer.git",
|
||||
"_source": "git://github.com/polymer/polymer.git",
|
||||
"_target": "^1.1.0",
|
||||
"_originalSource": "Polymer/polymer"
|
||||
"_originalSource": "polymer/polymer"
|
||||
}
|
@ -35,7 +35,8 @@
|
||||
require(['syncDialog'], function (syncDialog) {
|
||||
syncDialog.showMenu({
|
||||
ParentId: parentId,
|
||||
Category: category
|
||||
Category: category,
|
||||
serverId: ApiClient.serverId()
|
||||
});
|
||||
});
|
||||
}
|
||||
|
@ -620,7 +620,7 @@ progress {
|
||||
}
|
||||
|
||||
|
||||
.ui-body-a .visualCardBox .cardScalable, .ui-body-a .visualCardBox .cardFooter {
|
||||
.ui-body-a .visualCardBox .cardScalable, .ui-body-a .visualCardBox-cardFooter {
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
|
@ -11,6 +11,7 @@
|
||||
<option value="qsv">Intel Quick Sync (experimental)</option>
|
||||
<option value="h264_omx">OpenMAX OMX (experimental)</option>
|
||||
<option value="nvenc">Nvidia NVENC (experimental)</option>
|
||||
<option value="vaapi">Video Acceleration API (VA API) (experimental)</option>
|
||||
</select>
|
||||
<div class="fieldDescription">${LabelHardwareAccelerationTypeHelp}</div>
|
||||
</div>
|
||||
|
@ -2041,7 +2041,8 @@
|
||||
function onSyncClick() {
|
||||
require(['syncDialog'], function (syncDialog) {
|
||||
syncDialog.showMenu({
|
||||
items: [currentItem]
|
||||
items: [currentItem],
|
||||
serverId: ApiClient.serverId()
|
||||
});
|
||||
});
|
||||
}
|
||||
@ -2058,7 +2059,9 @@
|
||||
require(['syncDialog'], function (syncDialog) {
|
||||
syncDialog.showMenu({
|
||||
items: [currentItem],
|
||||
isLocalSync: true
|
||||
isLocalSync: true,
|
||||
serverId: ApiClient.serverId()
|
||||
|
||||
}).then(function () {
|
||||
reload(view, params);
|
||||
}, resetSyncStatus);
|
||||
|
@ -116,16 +116,9 @@
|
||||
configureSwipeTabs: function (ownerpage, tabs) {
|
||||
|
||||
if (!browser.touch) {
|
||||
//return;
|
||||
return;
|
||||
}
|
||||
|
||||
//require(['hammer'], function (Hammer) {
|
||||
|
||||
// var hammertime = new Hammer(ownerpage);
|
||||
// hammertime.get('swipe').set({ direction: Hammer.DIRECTION_HORIZONTAL });
|
||||
|
||||
//});
|
||||
|
||||
var pageCount = ownerpage.querySelectorAll('.pageTabContent').length;
|
||||
var onSwipeLeft = function (e) {
|
||||
if (LibraryBrowser.allowSwipe(e.target) && ownerpage.contains(e.target)) {
|
||||
|
@ -162,7 +162,7 @@
|
||||
html += '</a>';
|
||||
html += '</div>';
|
||||
|
||||
html += '<div class="cardFooter">';
|
||||
html += '<div class="cardFooter visualCardBox-cardFooter">';
|
||||
html += '<div class="cardText">' + user.Name + '</div>';
|
||||
|
||||
html += '<div class="cardText cardText-secondary">';
|
||||
|
@ -342,7 +342,7 @@
|
||||
// cardScalable
|
||||
html += "</div>";
|
||||
|
||||
html += '<div class="cardFooter">';
|
||||
html += '<div class="cardFooter visualCardBox-cardFooter">';
|
||||
|
||||
if (virtualFolder.showMenu !== false) {
|
||||
var moreIcon = appHost.moreIcon == 'dots-horiz' ? '' : '';
|
||||
|
@ -217,7 +217,7 @@
|
||||
// cardScalable
|
||||
html += "</div>";
|
||||
|
||||
html += '<div class="cardFooter">';
|
||||
html += '<div class="cardFooter visualCardBox-cardFooter">';
|
||||
|
||||
html += "<div class='cardText'>";
|
||||
html += plugin.name;
|
||||
|
@ -81,7 +81,7 @@
|
||||
// cardScalable
|
||||
html += "</div>";
|
||||
|
||||
html += '<div class="cardFooter">';
|
||||
html += '<div class="cardFooter visualCardBox-cardFooter">';
|
||||
|
||||
html += '<div style="text-align:right; float:right;padding-top:5px;">';
|
||||
html += '<button type="button" is="paper-icon-button-light" class="btnCardMenu autoSize"><i class="md-icon">more_vert</i></button>';
|
||||
|
@ -1320,6 +1320,7 @@ var AppInfo = {};
|
||||
define("chaptercardbuilder", [embyWebComponentsBowerPath + "/cardbuilder/chaptercardbuilder"], returnFirstDependency);
|
||||
|
||||
define("tvguide", [embyWebComponentsBowerPath + "/guide/guide", 'embyRouter'], returnFirstDependency);
|
||||
define("syncDialog", [embyWebComponentsBowerPath + "/sync/sync"], returnFirstDependency);
|
||||
define("voiceDialog", [embyWebComponentsBowerPath + "/voice/voicedialog"], returnFirstDependency);
|
||||
define("voiceReceiver", [embyWebComponentsBowerPath + "/voice/voicereceiver"], returnFirstDependency);
|
||||
define("voiceProcessor", [embyWebComponentsBowerPath + "/voice/voiceprocessor"], returnFirstDependency);
|
||||
@ -1352,8 +1353,6 @@ var AppInfo = {};
|
||||
paths.appStorage = getAppStorage(apiClientBowerPath);
|
||||
}
|
||||
|
||||
paths.syncDialog = "scripts/sync";
|
||||
|
||||
var sha1Path = bowerPath + "/cryptojslib/components/sha1-min";
|
||||
var md5Path = bowerPath + "/cryptojslib/components/md5-min";
|
||||
var shim = {};
|
||||
|
@ -1,413 +0,0 @@
|
||||
define(['apphost', 'jQuery', 'paper-icon-button-light'], function (appHost, $) {
|
||||
|
||||
var currentDialogOptions;
|
||||
|
||||
function submitJob(dlg, userId, syncOptions, form, dialogHelper) {
|
||||
|
||||
if (!userId) {
|
||||
throw new Error('userId cannot be null');
|
||||
}
|
||||
|
||||
if (!syncOptions) {
|
||||
throw new Error('syncOptions cannot be null');
|
||||
}
|
||||
|
||||
if (!form) {
|
||||
throw new Error('form cannot be null');
|
||||
}
|
||||
|
||||
var target = $('#selectSyncTarget', form).val();
|
||||
|
||||
if (!target) {
|
||||
|
||||
require(['toast'], function (toast) {
|
||||
toast(Globalize.translate('MessagePleaseSelectDeviceToSyncTo'));
|
||||
});
|
||||
return false;
|
||||
}
|
||||
|
||||
var options = {
|
||||
|
||||
userId: userId,
|
||||
TargetId: target,
|
||||
|
||||
ParentId: syncOptions.ParentId,
|
||||
Category: syncOptions.Category
|
||||
};
|
||||
|
||||
setJobValues(options, form);
|
||||
|
||||
if (syncOptions.items && syncOptions.items.length) {
|
||||
options.ItemIds = (syncOptions.items || []).map(function (i) {
|
||||
return i.Id || i;
|
||||
}).join(',');
|
||||
}
|
||||
|
||||
ApiClient.ajax({
|
||||
|
||||
type: "POST",
|
||||
url: ApiClient.getUrl("Sync/Jobs"),
|
||||
data: JSON.stringify(options),
|
||||
contentType: "application/json",
|
||||
dataType: 'json'
|
||||
|
||||
}).then(function () {
|
||||
|
||||
dialogHelper.close(dlg);
|
||||
require(['toast'], function (toast) {
|
||||
|
||||
var msg = target == ApiClient.deviceId() ? Globalize.translate('MessageDownloadScheduled') : Globalize.translate('MessageSyncJobCreated');
|
||||
|
||||
toast(msg);
|
||||
});
|
||||
});
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
function setJobValues(job, form) {
|
||||
|
||||
var bitrate = $('#txtBitrate', form).val() || null;
|
||||
|
||||
if (bitrate) {
|
||||
bitrate = parseFloat(bitrate) * 1000000;
|
||||
}
|
||||
|
||||
job.Name = $('#txtSyncJobName', form).val();
|
||||
job.Quality = $('#selectQuality', form).val() || null;
|
||||
job.Profile = $('#selectProfile', form).val() || null;
|
||||
job.Bitrate = bitrate;
|
||||
job.ItemLimit = $('#txtItemLimit', form).val() || null;
|
||||
job.SyncNewContent = $('#chkSyncNewContent', form).checked();
|
||||
job.UnwatchedOnly = $('#chkUnwatchedOnly', form).checked();
|
||||
}
|
||||
|
||||
function renderForm(options) {
|
||||
|
||||
return new Promise(function (resolve, reject) {
|
||||
|
||||
require(['emby-checkbox', 'emby-input', 'emby-select'], function () {
|
||||
|
||||
appHost.appInfo().then(function (appInfo) {
|
||||
renderFormInternal(options, appInfo, resolve);
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function renderFormInternal(options, appInfo, resolve) {
|
||||
|
||||
var elem = options.elem;
|
||||
var dialogOptions = options.dialogOptions;
|
||||
|
||||
var targets = dialogOptions.Targets;
|
||||
|
||||
var html = '';
|
||||
|
||||
var targetContainerClass = options.isLocalSync ? ' hide' : '';
|
||||
|
||||
if (options.showName || dialogOptions.Options.indexOf('Name') != -1) {
|
||||
|
||||
html += '<div class="inputContainer' + targetContainerClass + '">';
|
||||
html += '<input is="emby-input" type="text" id="txtSyncJobName" class="txtSyncJobName" required="required" label="' + Globalize.translate('LabelSyncJobName') + '"/>';
|
||||
html += '</div>';
|
||||
}
|
||||
|
||||
if (options.readOnlySyncTarget) {
|
||||
html += '<div class="inputContainer' + targetContainerClass + '">';
|
||||
html += '<input is="emby-input" type="text" id="selectSyncTarget" readonly label="' + Globalize.translate('LabelSyncTo') + '"/>';
|
||||
html += '</div>';
|
||||
} else {
|
||||
html += '<div class="selectContainer' + targetContainerClass + '">';
|
||||
html += '<select is="emby-select" id="selectSyncTarget" required="required" label="' + Globalize.translate('LabelSyncTo') + '">';
|
||||
|
||||
html += targets.map(function (t) {
|
||||
|
||||
var isSelected = t.Id == appInfo.deviceId;
|
||||
var selectedHtml = isSelected ? ' selected="selected"' : '';
|
||||
return '<option' + selectedHtml + ' value="' + t.Id + '">' + t.Name + '</option>';
|
||||
|
||||
}).join('');
|
||||
html += '</select>';
|
||||
if (!targets.length) {
|
||||
html += '<div class="fieldDescription">' + Globalize.translate('LabelSyncNoTargetsHelp') + '</div>';
|
||||
html += '<div class="fieldDescription"><a href="https://github.com/MediaBrowser/Wiki/wiki/Sync" target="_blank">' + Globalize.translate('ButtonLearnMore') + '</a></div>';
|
||||
}
|
||||
html += '</div>';
|
||||
}
|
||||
|
||||
html += '<div class="fldProfile selectContainer" style="display:none;">';
|
||||
html += '<select is="emby-select" id="selectProfile" label="' + Globalize.translate('LabelProfile') + '">';
|
||||
html += '</select>';
|
||||
html += '<div class="fieldDescription profileDescription"></div>';
|
||||
html += '</div>';
|
||||
|
||||
html += '<div class="fldQuality selectContainer" style="display:none;">';
|
||||
html += '<select is="emby-select" id="selectQuality" data-mini="true" required="required" label="' + Globalize.translate('LabelQuality') + '">';
|
||||
html += '</select>';
|
||||
html += '<div class="fieldDescription qualityDescription"></div>';
|
||||
html += '</div>';
|
||||
|
||||
html += '<div class="fldBitrate inputContainer" style="display:none;">';
|
||||
html += '<input is="emby-input" type="number" step=".1" min=".1" id="txtBitrate" label="' + Globalize.translate('LabelBitrateMbps') + '"/>';
|
||||
html += '</div>';
|
||||
|
||||
if (dialogOptions.Options.indexOf('UnwatchedOnly') != -1) {
|
||||
html += '<div class="checkboxContainer checkboxContainer-withDescription">';
|
||||
html += '<label>';
|
||||
html += '<input is="emby-checkbox" type="checkbox" id="chkUnwatchedOnly"/>';
|
||||
html += '<span>' + Globalize.translate('OptionSyncUnwatchedVideosOnly') + '</span>';
|
||||
html += '</label>';
|
||||
html += '<div class="fieldDescription checkboxFieldDescription">' + Globalize.translate('OptionSyncUnwatchedVideosOnlyHelp') + '</div>';
|
||||
html += '</div>';
|
||||
}
|
||||
|
||||
if (dialogOptions.Options.indexOf('SyncNewContent') != -1) {
|
||||
html += '<div class="checkboxContainer checkboxContainer-withDescription">';
|
||||
html += '<label>';
|
||||
html += '<input is="emby-checkbox" type="checkbox" id="chkSyncNewContent"/>';
|
||||
html += '<span>' + Globalize.translate('OptionAutomaticallySyncNewContent') + '</span>';
|
||||
html += '</label>';
|
||||
html += '<div class="fieldDescription checkboxFieldDescription">' + Globalize.translate('OptionAutomaticallySyncNewContentHelp') + '</div>';
|
||||
html += '</div>';
|
||||
}
|
||||
|
||||
if (dialogOptions.Options.indexOf('ItemLimit') != -1) {
|
||||
html += '<div class="inputContainer">';
|
||||
html += '<input is="emby-input" type="number" step="1" min="1" id="txtItemLimit" label="' + Globalize.translate('LabelItemLimit') + '"/>';
|
||||
html += '<div class="fieldDescription">' + Globalize.translate('LabelItemLimitHelp') + '</div>';
|
||||
html += '</div>';
|
||||
}
|
||||
|
||||
//html += '</div>';
|
||||
//html += '</div>';
|
||||
|
||||
elem.innerHTML = html;
|
||||
|
||||
$('#selectSyncTarget', elem).on('change', function () {
|
||||
|
||||
loadQualityOptions(elem, this.value, options.dialogOptionsFn).then(resolve);
|
||||
|
||||
}).trigger('change');
|
||||
|
||||
$('#selectProfile', elem).on('change', function () {
|
||||
|
||||
onProfileChange(elem, this.value);
|
||||
|
||||
}).trigger('change');
|
||||
|
||||
$('#selectQuality', elem).on('change', function () {
|
||||
|
||||
onQualityChange(elem, this.value);
|
||||
|
||||
}).trigger('change');
|
||||
|
||||
}
|
||||
|
||||
function showSyncMenu(options) {
|
||||
|
||||
return new Promise(function (resolve, reject) {
|
||||
|
||||
require(["registrationservices", 'dialogHelper', 'formDialogStyle'], function (registrationServices, dialogHelper) {
|
||||
registrationServices.validateFeature('sync').then(function () {
|
||||
|
||||
showSyncMenuInternal(dialogHelper, options).then(resolve, reject);
|
||||
|
||||
}, reject);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function showSyncMenuInternal(dialogHelper, options) {
|
||||
|
||||
var userId = Dashboard.getCurrentUserId();
|
||||
|
||||
var dialogOptionsQuery = {
|
||||
UserId: userId,
|
||||
ItemIds: (options.items || []).map(function (i) {
|
||||
return i.Id || i;
|
||||
}).join(','),
|
||||
|
||||
ParentId: options.ParentId,
|
||||
Category: options.Category
|
||||
};
|
||||
|
||||
return ApiClient.getJSON(ApiClient.getUrl('Sync/Options', dialogOptionsQuery)).then(function (dialogOptions) {
|
||||
|
||||
currentDialogOptions = dialogOptions;
|
||||
|
||||
var dlg = dialogHelper.createDialog({
|
||||
size: 'small',
|
||||
removeOnClose: true,
|
||||
autoFocus: false
|
||||
});
|
||||
|
||||
dlg.classList.add('ui-body-a');
|
||||
dlg.classList.add('background-theme-a');
|
||||
dlg.classList.add('formDialog');
|
||||
|
||||
var html = '';
|
||||
html += '<div class="formDialogHeader">';
|
||||
html += '<button is="paper-icon-button-light" class="btnCancel autoSize" tabindex="-1"><i class="md-icon"></i></button>';
|
||||
html += '<div class="formDialogHeaderTitle">';
|
||||
html += Globalize.translate('SyncMedia');
|
||||
html += '</div>';
|
||||
|
||||
html += '<a href="https://github.com/MediaBrowser/Wiki/wiki/Sync" target="_blank" class="clearLink" style="margin-top:0;display:inline-block;vertical-align:middle;margin-left:auto;"><button is="emby-button" type="button" class="mini"><i class="md-icon">info</i><span>' + Globalize.translate('ButtonHelp') + '</span></button></a>';
|
||||
|
||||
html += '</div>';
|
||||
|
||||
html += '<div class="formDialogContent smoothScrollY" style="padding-top:2em;">';
|
||||
html += '<div class="dialogContentInner dialog-content-centered">';
|
||||
|
||||
html += '<form class="formSubmitSyncRequest" style="margin: auto;">';
|
||||
|
||||
html += '<div class="formFields"></div>';
|
||||
|
||||
html += '<p>';
|
||||
html += '<button is="emby-button" type="submit" class="raised submit block"><i class="md-icon">sync</i><span>' + Globalize.translate('ButtonSync') + '</span></button>';
|
||||
html += '</p>';
|
||||
|
||||
html += '</form>';
|
||||
|
||||
html += '</div>';
|
||||
html += '</div>';
|
||||
|
||||
|
||||
dlg.innerHTML = html;
|
||||
document.body.appendChild(dlg);
|
||||
var submitted = false;
|
||||
|
||||
$('form', dlg).on('submit', function () {
|
||||
|
||||
submitted = submitJob(dlg, userId, options, this, dialogHelper);
|
||||
|
||||
return false;
|
||||
});
|
||||
|
||||
$('.btnCancel', dlg).on('click', function () {
|
||||
dialogHelper.close(dlg);
|
||||
});
|
||||
|
||||
var promise = dialogHelper.open(dlg);
|
||||
|
||||
renderForm({
|
||||
elem: dlg.querySelector('.formFields'),
|
||||
dialogOptions: dialogOptions,
|
||||
dialogOptionsFn: getTargetDialogOptionsFn(dialogOptionsQuery),
|
||||
isLocalSync: options.isLocalSync
|
||||
});
|
||||
|
||||
return promise.then(function () {
|
||||
if (submitted) {
|
||||
return Promise.resolve();
|
||||
}
|
||||
return Promise.reject();
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function getTargetDialogOptionsFn(query) {
|
||||
|
||||
return function (targetId) {
|
||||
|
||||
query.TargetId = targetId;
|
||||
return ApiClient.getJSON(ApiClient.getUrl('Sync/Options', query));
|
||||
};
|
||||
}
|
||||
|
||||
function setQualityFieldVisible(form, visible) {
|
||||
|
||||
if (visible) {
|
||||
$('.fldQuality', form).show();
|
||||
$('#selectQuality', form).attr('required', 'required');
|
||||
} else {
|
||||
$('.fldQuality', form).hide();
|
||||
$('#selectQuality', form).removeAttr('required');
|
||||
}
|
||||
}
|
||||
|
||||
function onProfileChange(form, profileId) {
|
||||
|
||||
var options = currentDialogOptions || {};
|
||||
var option = (options.ProfileOptions || []).filter(function (o) {
|
||||
return o.Id == profileId;
|
||||
})[0];
|
||||
|
||||
var qualityOptions = options.QualityOptions || [];
|
||||
|
||||
if (option) {
|
||||
$('.profileDescription', form).html(option.Description || '');
|
||||
setQualityFieldVisible(form, qualityOptions.length > 0 && option.EnableQualityOptions && options.Options.indexOf('Quality') != -1);
|
||||
} else {
|
||||
$('.profileDescription', form).html('');
|
||||
setQualityFieldVisible(form, qualityOptions.length > 0 && options.Options.indexOf('Quality') != -1);
|
||||
}
|
||||
}
|
||||
|
||||
function onQualityChange(form, qualityId) {
|
||||
|
||||
var options = currentDialogOptions || {};
|
||||
var option = (options.QualityOptions || []).filter(function (o) {
|
||||
return o.Id == qualityId;
|
||||
})[0];
|
||||
|
||||
if (option) {
|
||||
$('.qualityDescription', form).html(option.Description || '');
|
||||
} else {
|
||||
$('.qualityDescription', form).html('');
|
||||
}
|
||||
|
||||
if (qualityId == 'custom') {
|
||||
$('.fldBitrate', form).show();
|
||||
$('#txtBitrate', form).attr('required', 'required');
|
||||
} else {
|
||||
$('.fldBitrate', form).hide();
|
||||
$('#txtBitrate', form).removeAttr('required').val('');
|
||||
}
|
||||
}
|
||||
|
||||
function renderTargetDialogOptions(form, options) {
|
||||
|
||||
currentDialogOptions = options;
|
||||
|
||||
if (options.ProfileOptions.length && options.Options.indexOf('Profile') != -1) {
|
||||
$('.fldProfile', form).show();
|
||||
$('#selectProfile', form).attr('required', 'required');
|
||||
} else {
|
||||
$('.fldProfile', form).hide();
|
||||
$('#selectProfile', form).removeAttr('required');
|
||||
}
|
||||
|
||||
setQualityFieldVisible(options.QualityOptions.length > 0);
|
||||
|
||||
$('#selectProfile', form).html(options.ProfileOptions.map(function (o) {
|
||||
|
||||
var selectedAttribute = o.IsDefault ? ' selected="selected"' : '';
|
||||
return '<option value="' + o.Id + '"' + selectedAttribute + '>' + o.Name + '</option>';
|
||||
|
||||
}).join('')).trigger('change');
|
||||
|
||||
$('#selectQuality', form).html(options.QualityOptions.map(function (o) {
|
||||
|
||||
var selectedAttribute = o.IsDefault ? ' selected="selected"' : '';
|
||||
return '<option value="' + o.Id + '"' + selectedAttribute + '>' + o.Name + '</option>';
|
||||
|
||||
}).join('')).trigger('change');
|
||||
}
|
||||
|
||||
function loadQualityOptions(form, targetId, dialogOptionsFn) {
|
||||
|
||||
return dialogOptionsFn(targetId).then(function (options) {
|
||||
|
||||
return renderTargetDialogOptions(form, options);
|
||||
});
|
||||
}
|
||||
|
||||
return {
|
||||
|
||||
showMenu: showSyncMenu,
|
||||
renderForm: renderForm,
|
||||
setJobValues: setJobValues
|
||||
};
|
||||
});
|
@ -135,7 +135,7 @@
|
||||
// cardScalable
|
||||
html += "</div>";
|
||||
|
||||
html += '<div class="cardFooter">';
|
||||
html += '<div class="cardFooter visualCardBox-cardFooter">';
|
||||
|
||||
html += '<div style="text-align:right; float:right;padding:0;">';
|
||||
html += '<button type="button" is="paper-icon-button-light" class="btnUserMenu autoSize"><i class="md-icon">more_vert</i></button>';
|
||||
@ -254,7 +254,7 @@
|
||||
// cardScalable
|
||||
html += "</div>";
|
||||
|
||||
html += '<div class="cardFooter">';
|
||||
html += '<div class="cardFooter visualCardBox-cardFooter">';
|
||||
|
||||
html += '<div class="cardText" style="text-align:right; float:right;padding:0;">';
|
||||
html += '<button type="button" is="paper-icon-button-light" class="btnUserMenu"><i class="md-icon">more_vert</i></button>';
|
||||
|
@ -1,4 +1,6 @@
|
||||
{
|
||||
"LabelMaxAudioFileBitrate": "Max audio file bitrate:",
|
||||
"LabelMaxAudioFileBitrateHelp": "Audio files with a higher bitrate will be converted by Emby Server. Select a higher value for better quality, or a lower value to conserve local storage space.",
|
||||
"LabelExit": "\u062e\u0631\u0648\u062c",
|
||||
"LabelVisitCommunity": "\u0632\u064a\u0627\u0631\u0629 \u0627\u0644\u0645\u062c\u062a\u0645\u0639",
|
||||
"LabelGithub": "\u062c\u064a\u062a \u0647\u0628",
|
||||
@ -2108,7 +2110,7 @@
|
||||
"LabelSyncJobName": "Sync job name:",
|
||||
"LabelQuality": "Quality:",
|
||||
"OptionAutomaticallySyncNewContent": "Automatically sync new content",
|
||||
"OptionAutomaticallySyncNewContentHelp": "New content added to will be automatically synced to the device.",
|
||||
"OptionAutomaticallySyncNewContentHelp": "New content added to this folder will be automatically synced to the device.",
|
||||
"OptionSyncUnwatchedVideosOnly": "Sync unwatched videos only",
|
||||
"OptionSyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be synced, and videos will be removed from the device as they are watched.",
|
||||
"LabelItemLimit": "Item limit:",
|
||||
|
@ -1,4 +1,6 @@
|
||||
{
|
||||
"LabelMaxAudioFileBitrate": "Max audio file bitrate:",
|
||||
"LabelMaxAudioFileBitrateHelp": "Audio files with a higher bitrate will be converted by Emby Server. Select a higher value for better quality, or a lower value to conserve local storage space.",
|
||||
"LabelExit": "\u0412\u044b\u0445\u0430\u0434",
|
||||
"LabelVisitCommunity": "\u041d\u0430\u0432\u0435\u0434\u0432\u0430\u043d\u043d\u0435 \u0441\u0443\u043f\u043e\u043b\u043a\u0456",
|
||||
"LabelGithub": "Github",
|
||||
@ -25,51 +27,51 @@
|
||||
"LabelWindowsService": "\u0421\u043b\u0443\u0436\u0431\u0430 Windows",
|
||||
"AWindowsServiceHasBeenInstalled": "\u0421\u043b\u0443\u0436\u0431\u0430 Windows \u0431\u044b\u043b\u0430 \u045e\u0441\u0442\u0430\u043b\u044f\u0432\u0430\u043d\u0430\u044f.",
|
||||
"WindowsServiceIntro1": "Emby Server \u0437\u0432\u044b\u0447\u0430\u0439\u043d\u0430 \u043f\u0440\u0430\u0446\u0443\u0435 \u044f\u043a \u043d\u0430\u0441\u0442\u043e\u043b\u044c\u043d\u044b \u0434\u0430\u0434\u0430\u0442\u0430\u043a \u0441\u0430 \u0437\u043d\u0430\u0447\u043a\u043e\u043c \u0443 \u0441\u0456\u0441\u0442\u044d\u043c\u043d\u044b\u043c \u043b\u0430\u0442\u043a\u0443, \u0430\u043b\u0435 \u043a\u0430\u043b\u0456 \u043f\u0435\u0440\u0430\u0432\u0430\u0436\u043d\u0430 \u043f\u0440\u0430\u0446\u0430 \u044f\u043a \u0444\u043e\u043d\u0430\u0432\u0430\u0439 \u0441\u043b\u0443\u0436\u0431\u044b, \u0437\u0430\u043c\u0435\u0441\u0442 \u0433\u044d\u0442\u0430\u0433\u0430 \u044f\u0433\u043e \u043c\u0430\u0433\u0447\u044b\u043c\u0430 \u0437\u0430\u043f\u0443\u0441\u0446\u0456\u0446\u044c \u043f\u0440\u0430\u0437 \u0434\u044b\u0441\u043f\u0435\u0442\u0447\u0430\u0440 \u0441\u043b\u0443\u0436\u0431\u0430\u045e Windows.",
|
||||
"WindowsServiceIntro2": "If using the windows service, please note that it cannot be run at the same time as the tray icon, so you'll need to exit the tray in order to run the service. The service will also need to be configured with administrative privileges via the control panel. When running as a service, you will need to ensure that the service account has access to your media folders.",
|
||||
"WizardCompleted": "That's all we need for now. Emby has begun collecting information about your media library. Check out some of our apps, and then click <b>Finish<\/b> to view the <b>Server Dashboard<\/b>.",
|
||||
"LabelConfigureSettings": "Configure settings",
|
||||
"LabelEnableVideoImageExtraction": "Enable video image extraction",
|
||||
"VideoImageExtractionHelp": "For videos that don't already have images, and that we're unable to find internet images for. This will add some additional time to the initial library scan but will result in a more pleasing presentation.",
|
||||
"LabelEnableChapterImageExtractionForMovies": "Extract chapter image extraction for Movies",
|
||||
"LabelChapterImageExtractionForMoviesHelp": "Extracting chapter images will allow clients to display graphical scene selection menus. The process can be slow, cpu-intensive and may require several gigabytes of space. It runs as a nightly scheduled task, although this is configurable in the scheduled tasks area. It is not recommended to run this task during peak usage hours.",
|
||||
"LabelEnableAutomaticPortMapping": "Enable automatic port mapping",
|
||||
"LabelEnableAutomaticPortMappingHelp": "UPnP allows automated router configuration for easy remote access. This may not work with some router models.",
|
||||
"HeaderTermsOfService": "Emby Terms of Service",
|
||||
"MessagePleaseAcceptTermsOfService": "Please accept the terms of service and privacy policy before continuing.",
|
||||
"OptionIAcceptTermsOfService": "I accept the terms of service",
|
||||
"ButtonPrivacyPolicy": "Privacy policy",
|
||||
"ButtonTermsOfService": "Terms of Service",
|
||||
"HeaderDeveloperOptions": "Developer Options",
|
||||
"OptionEnableWebClientResponseCache": "Enable web response caching",
|
||||
"OptionDisableForDevelopmentHelp": "Configure these as needed for web development purposes.",
|
||||
"OptionEnableWebClientResourceMinification": "Enable web resource minification",
|
||||
"LabelDashboardSourcePath": "Web client source path:",
|
||||
"LabelDashboardSourcePathHelp": "If running the server from source, specify the path to the dashboard-ui folder. All web client files will be served from this location.",
|
||||
"ButtonConvertMedia": "Convert media",
|
||||
"ButtonOrganize": "Organize",
|
||||
"HeaderSupporterBenefits": "Emby Premiere Benefits",
|
||||
"HeaderAddUser": "Add User",
|
||||
"LabelAddConnectSupporterHelp": "To add a user who isn't listed, you'll need to first link their account to Emby Connect from their user profile page.",
|
||||
"LabelPinCode": "Pin code:",
|
||||
"OptionHideWatchedContentFromLatestMedia": "Hide watched content from latest media",
|
||||
"HeaderSync": "Sync",
|
||||
"ButtonOk": "Ok",
|
||||
"ButtonCancel": "Cancel",
|
||||
"ButtonExit": "Exit",
|
||||
"ButtonNew": "New",
|
||||
"HeaderTaskTriggers": "Task Triggers",
|
||||
"HeaderTV": "TV",
|
||||
"HeaderAudio": "Audio",
|
||||
"HeaderVideo": "Video",
|
||||
"HeaderPaths": "Paths",
|
||||
"CategorySync": "Sync",
|
||||
"TabPlaylist": "Playlist",
|
||||
"HeaderEasyPinCode": "Easy Pin Code",
|
||||
"HeaderGrownupsOnly": "Grown-ups Only!",
|
||||
"HeaderInstalledServices": "Installed Services",
|
||||
"HeaderAvailableServices": "Available Services",
|
||||
"MessageNoServicesInstalled": "No services are currently installed.",
|
||||
"HeaderToAccessPleaseEnterEasyPinCode": "To access, please enter your easy pin code",
|
||||
"WindowsServiceIntro2": "\u041f\u0440\u044b \u0432\u044b\u043a\u0430\u0440\u044b\u0441\u0442\u0430\u043d\u043d\u0456 \u0441\u043b\u0443\u0436\u0431\u044b Windows, \u043f\u0430\u043c\u044f\u0442\u0430\u0439\u0446\u0435, \u0448\u0442\u043e \u043d\u0435\u043c\u0430\u0433\u0447\u044b\u043c\u0430\u044f \u044f\u0435 \u0430\u0434\u043d\u0430\u0447\u0430\u0441\u043e\u0432\u0430\u044f \u043f\u0440\u0430\u0446\u0430 \u0441\u0430 \u0437\u043d\u0430\u0447\u043a\u043e\u043c \u0443 \u0441\u0456\u0441\u0442\u044d\u043c\u043d\u044b\u043c \u043b\u0430\u0442\u043a\u0443, \u0442\u0430\u043c\u0443 \u043d\u0435\u0430\u0431\u0445\u043e\u0434\u043d\u0430 \u0432\u044b\u0439\u0441\u0446\u0456 \u0437 \u0437\u043d\u0430\u0447\u043a\u0430 \u045e \u043b\u0430\u0442\u043a\u0443 \u0434\u043b\u044f \u0442\u0430\u0433\u043e, \u043a\u0430\u0431 \u0441\u043b\u0443\u0436\u0431\u0430 \u043f\u0430\u0447\u0430\u043b\u0430 \u043f\u0440\u0430\u0446\u0430\u0432\u0430\u0446\u044c. \u0421\u043b\u0443\u0436\u0431\u0443 \u0442\u0430\u043a\u0441\u0430\u043c\u0430 \u0442\u0440\u044d\u0431\u0430 \u0431\u0443\u0434\u0437\u0435 \u043d\u0430\u043b\u0430\u0434\u0437\u0456\u0446\u044c, \u0443\u0432\u0430\u0439\u0448\u043e\u045e\u0448\u044b \u0437 \u043f\u0440\u0430\u0432\u0430\u043c\u0456 \u0430\u0434\u043c\u0456\u043d\u0456\u0441\u0442\u0440\u0430\u0442\u0430\u0440\u0430 \u045e \u043a\u0430\u043d\u0441\u043e\u043b\u044c \u0423\u043f\u0440\u0430\u045e\u043b\u0435\u043d\u043d\u0435 \u043a\u0430\u043c\u043f\u0443\u0442\u0430\u0440\u0430\u043c. \u041f\u0440\u044b \u0437\u0430\u043f\u0443\u0441\u043a\u0443 \u044f\u043a \u0441\u043b\u0443\u0436\u0431\u044b, \u0432\u044b \u043f\u0430\u0432\u0456\u043d\u043d\u044b \u043f\u0435\u0440\u0430\u043a\u0430\u043d\u0430\u0446\u0446\u0430, \u0448\u0442\u043e \u0456\u043c\u044f \u045e\u0434\u0437\u0435\u043b\u044c\u043d\u0456\u043a\u0430 \u0441\u043b\u0443\u0436\u0431\u044b \u043c\u0430\u0435 \u0434\u043e\u0441\u0442\u0443\u043f \u0434\u0430 \u0432\u0430\u0448\u044b\u0445 \u043c\u0435\u0434\u0438\u0430\u043f\u0430\u043f\u043a\u0430\u043c.",
|
||||
"WizardCompleted": "\u0413\u044d\u0442\u0430 \u045e\u0441\u0451, \u0448\u0442\u043e \u043d\u0430\u043c \u0442\u0440\u044d\u0431\u0430 \u0437\u0430\u0440\u0430\u0437. Emby \u043f\u0430\u0447\u044b\u043d\u0430\u0435 \u0437\u0431\u0456\u0440\u0430\u0446\u044c \u0437\u0432\u0435\u0441\u0442\u043a\u0456 \u0430\u0431 \u0432\u0430\u0448\u0430\u0439 \u043c\u0435\u0434\u044b\u044f\u0442\u044d\u0446\u044b. \u0410\u0437\u043d\u0430\u0451\u043c\u0446\u0435\u0441\u044f \u043f\u0430\u043a\u0443\u043b\u044c \u0437 \u043d\u0435\u043a\u0430\u0442\u043e\u0440\u044b\u043c\u0456 \u043d\u0430\u0448\u044b\u043c\u0456 \u043f\u0440\u0430\u0433\u0440\u0430\u043c\u0430\u043c\u0456, \u0430 \u0437\u0430\u0442\u044b\u043c \u043d\u0430\u0446\u0456\u0441\u043d\u0456\u0446\u0435 <b>\u0413\u0430\u0442\u043e\u0432\u0430<\/b>, \u043a\u0430\u0431 \u043f\u0440\u0430\u0433\u043b\u044f\u0434\u0437\u0435\u0446\u044c <b>\u0418\u043d\u0444\u043e\u043f\u0430\u043d\u0435\u043b\u044c \u0441\u0435\u0440\u0432\u0435\u0440\u0430<\/b>.",
|
||||
"LabelConfigureSettings": "\u041f\u0440\u044b\u0437\u043d\u0430\u0447\u044b\u0446\u044c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b",
|
||||
"LabelEnableVideoImageExtraction": "\u040e\u043a\u043b\u044e\u0447\u044b\u0446\u044c \u0432\u044b\u043c\u0430\u043d\u043d\u0435 \u043c\u0430\u043b\u044e\u043d\u043a\u0430\u045e \u0437 \u0432\u0456\u0434\u044d\u0430",
|
||||
"VideoImageExtractionHelp": "\u0414\u043b\u044f \u0432\u0456\u0434\u044d\u0430, \u0434\u0437\u0435 \u043d\u044f\u043c\u0430 \u043c\u0430\u043b\u044e\u043d\u043a\u0430\u045e, \u0456 \u044f\u043a\u0456\u044f \u043d\u0435 \u045e\u0434\u0430\u043b\u043e\u0441\u044f \u0437\u043d\u0430\u0439\u0441\u0446\u0456 \u045e \u0406\u043d\u0442\u044d\u0440\u043d\u044d\u0446\u0435. \u041f\u0440\u044b \u0433\u044d\u0442\u044b\u043c \u0431\u0443\u0434\u0437\u0435 \u0434\u0430\u0434\u0430\u0434\u0437\u0435\u043d\u0430 \u044f\u0448\u0447\u044d \u0447\u0430\u0441\u0443 \u0434\u0430 \u043f\u0430\u0447\u0430\u0442\u043a\u043e\u0432\u0430\u0433\u0430 \u0441\u043a\u0430\u043d\u0456\u0440\u0430\u0432\u0430\u043d\u043d\u0456 \u043c\u0435\u0434\u044b\u044f\u0442\u044d\u043a\u0456, \u0430\u043b\u0435 \u0433\u044d\u0442\u0430 \u043f\u0440\u044b\u0432\u044f\u0434\u0437\u0435 \u0434\u0430 \u0431\u043e\u043b\u044c\u0448 \u043f\u0440\u044b\u0432\u0430\u0431\u043d\u0430\u043c\u0443 \u043f\u0440\u0430\u0434\u0441\u0442\u0430\u045e\u043b\u0435\u043d\u043d\u0456.",
|
||||
"LabelEnableChapterImageExtractionForMovies": "\u0417\u0434\u0430\u0431\u044b\u0432\u0430\u0446\u044c \u043c\u0430\u043b\u044e\u043d\u043a\u0456 \u0441\u0446\u044d\u043d \u0434\u043b\u044f \u0444\u0456\u043b\u044c\u043c\u0430\u045e",
|
||||
"LabelChapterImageExtractionForMoviesHelp": "\u0412\u044b\u043c\u0430\u043d\u043d\u0435 \u043c\u0430\u043b\u044e\u043d\u043a\u0430\u045e \u0441\u0446\u044d\u043d \u0434\u0430\u0435 \u043c\u0430\u0433\u0447\u044b\u043c\u0430\u0441\u0446\u0456 \u043a\u043b\u0456\u0435\u043d\u0442\u0430\u043c \u0434\u043b\u044f \u0430\u0434\u043b\u044e\u0441\u0442\u0440\u0430\u0432\u0430\u043d\u043d\u044f \u0433\u0440\u0430\u0444\u0456\u0447\u043d\u044b\u0445 \u043c\u0435\u043d\u044e \u0432\u044b\u0431\u0430\u0440\u0443 \u0441\u0446\u044d\u043d\u044b. \u0422\u0430\u043a\u0456 \u043f\u0440\u0430\u0446\u044d\u0441 \u043c\u043e\u0436\u0430 \u0431\u044b\u0446\u044c \u043f\u0430\u0432\u043e\u043b\u044c\u043d\u044b\u043c, \u043d\u0430\u0433\u0440\u0443\u0436\u0430\u0446\u044c \u0426\u041f \u0456 \u043c\u043e\u0436\u0430 \u0441\u043f\u0430\u0442\u0440\u044d\u0431\u0456\u0446\u0446\u0430 \u043d\u0435\u043a\u0430\u043b\u044c\u043a\u0456 \u0433\u0456\u0433\u0430\u0431\u0430\u0439\u0442 \u043f\u0440\u0430\u0441\u0442\u043e\u0440\u044b. \u0401\u043d \u043f\u0440\u0430\u0446\u0443\u0435 \u045e \u0432\u044b\u0433\u043b\u044f\u0434\u0437\u0435 \u0437\u0430\u0434\u0430\u0447\u044b, \u043f\u0440\u044b\u0437\u043d\u0430\u0447\u0430\u043d\u0430\u044f \u043d\u0430 \u043d\u043e\u0447, \u0430\u0434\u043d\u0430\u043a, \u044f\u0435 \u043c\u043e\u0436\u043d\u0430 \u043f\u0435\u0440\u0430\u0431\u0443\u0434\u0430\u0432\u0430\u0446\u044c \u045e \u0433\u0430\u043b\u0456\u043d\u0435 \u041f\u0440\u044b\u0437\u043d\u0430\u0447\u0430\u043d\u044b\u0445 \u0437\u0430\u0434\u0430\u0447. \u041d\u0435 \u0440\u044d\u043a\u0430\u043c\u0435\u043d\u0434\u0443\u0435\u0446\u0446\u0430 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0446\u044c \u0434\u0430\u0434\u0437\u0435\u043d\u0443\u044e \u0437\u0430\u0434\u0430\u0447\u0443 \u045e \u0433\u0430\u0434\u0437\u0456\u043d\u044b \u043f\u0456\u043a.",
|
||||
"LabelEnableAutomaticPortMapping": "\u0414\u0430\u0437\u0432\u043e\u043b\u0456\u0446\u044c \u0430\u045e\u0442\u0430\u043c\u0430\u0442\u044b\u0447\u043d\u0430\u0435 \u0441\u0443\u043f\u0430\u0441\u0442\u0430\u045e\u043b\u0435\u043d\u043d\u0435 \u043f\u0430\u0440\u0442\u043e\u045e",
|
||||
"LabelEnableAutomaticPortMappingHelp": "UPnP \u0434\u0430\u0435 \u043c\u0430\u0433\u0447\u044b\u043c\u0430\u0441\u0446\u0456 \u0430\u045e\u0442\u0430\u043c\u0430\u0442\u044b\u0437\u0430\u0432\u0430\u043d\u0430\u0433\u0430 \u043a\u0430\u043d\u0444\u0456\u0433\u0443\u0440\u0430\u0432\u0430\u043d\u043d\u044f \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u044b\u0437\u0430\u0442\u0430\u0440\u0430 \u0434\u043b\u044f \u0437\u0440\u0443\u0447\u043d\u0430\u0433\u0430 \u0437\u043d\u0435\u0448\u043d\u044f\u0433\u0430 \u0434\u043e\u0441\u0442\u0443\u043f\u0443. \u0413\u044d\u0442\u0430 \u043c\u043e\u0436\u0430 \u043d\u0435 \u0441\u043f\u0440\u0430\u0446\u0430\u0432\u0430\u0446\u044c \u0437 \u043d\u0435\u043a\u0430\u0442\u043e\u0440\u044b\u043c\u0456 \u043c\u0430\u0434\u044d\u043b\u044f\u043c\u0456 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u044b\u0437\u0430\u0442\u0430\u0440\u0430\u045e.",
|
||||
"HeaderTermsOfService": "\u0423\u043c\u043e\u0432\u044b \u043f\u0440\u0430\u0434\u0430\u0441\u0442\u0430\u045e\u043b\u0435\u043d\u043d\u044f \u043f\u0430\u0441\u043b\u0443\u0433 Emby",
|
||||
"MessagePleaseAcceptTermsOfService": "\u041f\u0430\u0446\u0432\u0435\u0440\u0434\u0437\u0456\u0446\u0435 \u0437\u0433\u043e\u0434\u0443 \u0437 \u0423\u043c\u043e\u0432\u0430\u043c\u0456 \u043f\u0440\u0430\u0434\u0430\u0441\u0442\u0430\u045e\u043b\u0435\u043d\u043d\u044f \u043f\u0430\u0441\u043b\u0443\u0433 \u0456 \u041f\u0430\u043b\u0456\u0442\u044b\u043a\u0430\u0439 \u043f\u0440\u044b\u0432\u0430\u0442\u043d\u0430\u0441\u0446\u0456, \u043f\u0435\u0440\u0448 \u0447\u044b\u043c \u043f\u0440\u0430\u0446\u044f\u0433\u043d\u0443\u0446\u044c.",
|
||||
"OptionIAcceptTermsOfService": "\u042f \u0437\u0433\u0430\u0434\u0436\u0430\u044e\u0441\u044f \u0437 \u0423\u043c\u043e\u0432\u0430\u043c\u0456 \u043f\u0440\u0430\u0434\u0430\u0441\u0442\u0430\u045e\u043b\u0435\u043d\u043d\u044f \u043f\u0430\u0441\u043b\u0443\u0433",
|
||||
"ButtonPrivacyPolicy": "\u041f\u0430\u043b\u0456\u0442\u044b\u043a\u0430 \u043f\u0440\u044b\u0432\u0430\u0442\u043d\u0430\u0441\u0446\u0456...",
|
||||
"ButtonTermsOfService": "\u0423\u043c\u043e\u0432\u044b \u043f\u0440\u0430\u0434\u0430\u0441\u0442\u0430\u045e\u043b\u0435\u043d\u043d\u044f \u043f\u0430\u0441\u043b\u0443\u0433...",
|
||||
"HeaderDeveloperOptions": "\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0440\u0430\u0441\u043f\u0440\u0430\u0446\u043e\u045e\u0448\u0447\u044b\u043a\u0430\u045e",
|
||||
"OptionEnableWebClientResponseCache": "\u0423\u043a\u043b\u044e\u0447\u044b\u0446\u044c \u043a\u044d\u0448\u0430\u0432\u0430\u043d\u043d\u0435 \u0432\u044d\u0431-\u0432\u043e\u0434\u0433\u0443\u043a\u0430\u045e.",
|
||||
"OptionDisableForDevelopmentHelp": "\u041d\u0430\u043b\u0430\u0434\u0436\u0432\u0430\u0439\u0446\u0435 \u0456\u0445, \u0443 \u0432\u044b\u043f\u0430\u0434\u043a\u0443 \u043d\u0435\u0430\u0431\u0445\u043e\u0434\u043d\u0430\u0441\u0446\u0456, \u0434\u043b\u044f \u0432\u044d\u0431-\u0440\u0430\u0441\u043f\u0440\u0430\u0446\u043e\u045e\u043a\u0456.",
|
||||
"OptionEnableWebClientResourceMinification": "\u0423\u043a\u043b\u044e\u0447\u044b\u0446\u044c \u043c\u0456\u043d\u0456\u043c\u0456\u0437\u0430\u0446\u044b\u044e \u0432\u044d\u0431-\u0440\u044d\u0441\u0443\u0440\u0441\u0430\u045e",
|
||||
"LabelDashboardSourcePath": "\u0428\u043b\u044f\u0445 \u0434\u0430 \u043a\u0440\u044b\u043d\u0456\u0446\u044b \u0432\u044d\u0431-\u043a\u043b\u0456\u0435\u043d\u0442\u0430:",
|
||||
"LabelDashboardSourcePathHelp": "\u041a\u0430\u043b\u0456 \u0441\u0435\u0440\u0432\u0435\u0440 \u043f\u0440\u0430\u0446\u0443\u0435 \u0430\u0434 \u0437\u044b\u0445\u043e\u0434\u043d\u044b\u0445 \u043a\u043e\u0434\u0430\u045e, \u043f\u0430\u043a\u0430\u0436\u044b\u0446\u0435 \u0448\u043b\u044f\u0445 \u0434\u0430 \u0442\u044d\u0447\u0446\u044b dashboard-ui. \u0423\u0441\u0435 \u0444\u0430\u0439\u043b\u044b \u0432\u044d\u0431-\u043a\u043b\u0456\u0435\u043d\u0442\u0430 \u0431\u0443\u0434\u0443\u0446\u044c \u043f\u0430\u0434\u0430\u0432\u0430\u0446\u0446\u0430 \u0437 \u0433\u044d\u0442\u0430\u0433\u0430 \u0440\u0430\u0437\u043c\u044f\u0448\u0447\u044d\u043d\u043d\u044f.",
|
||||
"ButtonConvertMedia": "\u041a\u0430\u043d\u0432\u0435\u0440\u0442\u0430\u0432\u0430\u0446\u044c \u043c\u044d\u0434\u044b\u044f\u0437\u044c\u0432\u0435\u0441\u0442\u043a\u0456",
|
||||
"ButtonOrganize": "\u0423\u043f\u0430\u0440\u0430\u0434\u043a\u0430\u0432\u0430\u0446\u044c",
|
||||
"HeaderSupporterBenefits": "\u041a\u0430\u043c\u043f\u0430\u043d\u0435\u043d\u0442\u044b Emby Premiere",
|
||||
"HeaderAddUser": "\u0414\u0430\u0434\u0430\u043d\u043d\u0435 \u043a\u0430\u0440\u044b\u0441\u0442\u0430\u043b\u044c\u043d\u0456\u043a\u0430",
|
||||
"LabelAddConnectSupporterHelp": "\u041a\u0430\u0431 \u0434\u0430\u0434\u0430\u0446\u044c \u043a\u0430\u0440\u044b\u0441\u0442\u0430\u043b\u044c\u043d\u0456\u043a\u0430, \u044f\u043a\u043e\u0433\u0430 \u043d\u044f\u043c\u0430 \u045e \u0441\u043f\u0456\u0441\u0435, \u0441\u043f\u0430\u0447\u0430\u0442\u043a\u0443 \u043d\u0435\u0430\u0431\u0445\u043e\u0434\u043d\u0430 \u0437\u0432\u044f\u0437\u0430\u0446\u044c \u044f\u0433\u043e, \u0441\u0442\u0432\u0430\u0440\u044b\u045e \u0440\u0430\u0445\u0443\u043d\u0430\u043a \u0437 Emby Connect \u0437 \u044f\u0433\u043e \u0441\u0442\u0430\u0440\u043e\u043d\u043a\u0456 \u043f\u0440\u043e\u0444\u0456\u043b\u044e \u043a\u0430\u0440\u044b\u0441\u0442\u0430\u043b\u044c\u043d\u0456\u043a\u0430.",
|
||||
"LabelPinCode": "PIN-\u043a\u043e\u0434:",
|
||||
"OptionHideWatchedContentFromLatestMedia": "\u0421\u0445\u0430\u0432\u0430\u0446\u044c \u043f\u0440\u0430\u0433\u043b\u0435\u0434\u0436\u0430\u043d\u0430\u0435 \u045e\u0442\u0440\u044b\u043c\u0430\u043d\u043d\u0435 \u0437 \u0410\u043f\u043e\u0448\u043d\u0456\u0445 \u043c\u0435\u0434\u044b\u044f\u0434\u0430\u0434\u0437\u0435\u043d\u044b\u0445",
|
||||
"HeaderSync": "\u0421\u0456\u043d\u0445\u0440\u0430\u043d\u0456\u0437\u0430\u0446\u044b\u044f",
|
||||
"ButtonOk": "\u041e\u041a",
|
||||
"ButtonCancel": "\u0410\u0434\u043c\u044f\u043d\u0456\u0446\u044c",
|
||||
"ButtonExit": "\u0412\u044b\u0439\u0441\u0446\u0456",
|
||||
"ButtonNew": "\u041d\u043e\u0432\u0430\u0435",
|
||||
"HeaderTaskTriggers": "\u0422\u0440\u044b\u0433\u0435\u0440\u044b \u0437\u0430\u0434\u0430\u0447\u044b",
|
||||
"HeaderTV": "\u0422\u0411",
|
||||
"HeaderAudio": "\u0410\u045e\u0434\u044b\u0451",
|
||||
"HeaderVideo": "\u0412\u0456\u0434\u044d\u0430",
|
||||
"HeaderPaths": "\u0428\u043b\u044f\u0445\u0456",
|
||||
"CategorySync": "\u0421\u0456\u043d\u0445\u0440\u0430",
|
||||
"TabPlaylist": "\u041f\u043b\u044d\u0439\u043b\u0456\u0441\u0442",
|
||||
"HeaderEasyPinCode": "\u041f\u0440\u043e\u0441\u0442\u044b PIN-\u043a\u043e\u0434",
|
||||
"HeaderGrownupsOnly": "\u0422\u043e\u043b\u044c\u043a\u0456 \u0434\u043b\u044f \u0434\u0430\u0440\u043e\u0441\u043b\u044b\u0445!",
|
||||
"HeaderInstalledServices": "\u0423\u0441\u0442\u0430\u043d\u043e\u045e\u043b\u0435\u043d\u044b\u044f \u043f\u0430\u0441\u043b\u0443\u0433\u0456",
|
||||
"HeaderAvailableServices": "\u041d\u0430\u044f\u045e\u043d\u044b\u044f \u043f\u0430\u0441\u043b\u0443\u0433\u0456",
|
||||
"MessageNoServicesInstalled": "\u0423 \u0446\u044f\u043f\u0435\u0440\u0430\u0448\u043d\u0456 \u0447\u0430\u0441 \u043d\u044f\u043c\u0430 \u0443\u0441\u0442\u0430\u043d\u043e\u045e\u043b\u0435\u043d\u044b\u0445 \u043f\u0430\u0441\u043b\u0443\u0433",
|
||||
"HeaderToAccessPleaseEnterEasyPinCode": "\u0414\u043b\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u0443 \u0443\u0432\u044f\u0434\u0437\u0456\u0446\u0435 \u0432\u0430\u0448 \u043f\u0440\u043e\u0441\u0442\u044b PIN-\u043a\u043e\u0434",
|
||||
"KidsModeAdultInstruction": "Click the lock icon in the bottom right to configure or leave kids mode. Your pin code will be required.",
|
||||
"ButtonConfigurePinCode": "Configure pin code",
|
||||
"RegisterWithPayPal": "Register with PayPal",
|
||||
@ -2108,7 +2110,7 @@
|
||||
"LabelSyncJobName": "Sync job name:",
|
||||
"LabelQuality": "Quality:",
|
||||
"OptionAutomaticallySyncNewContent": "Automatically sync new content",
|
||||
"OptionAutomaticallySyncNewContentHelp": "New content added to will be automatically synced to the device.",
|
||||
"OptionAutomaticallySyncNewContentHelp": "New content added to this folder will be automatically synced to the device.",
|
||||
"OptionSyncUnwatchedVideosOnly": "Sync unwatched videos only",
|
||||
"OptionSyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be synced, and videos will be removed from the device as they are watched.",
|
||||
"LabelItemLimit": "Item limit:",
|
||||
|
@ -1,4 +1,6 @@
|
||||
{
|
||||
"LabelMaxAudioFileBitrate": "Max audio file bitrate:",
|
||||
"LabelMaxAudioFileBitrateHelp": "Audio files with a higher bitrate will be converted by Emby Server. Select a higher value for better quality, or a lower value to conserve local storage space.",
|
||||
"LabelExit": "\u0418\u0437\u0445\u043e\u0434",
|
||||
"LabelVisitCommunity": "\u041f\u043e\u0441\u0435\u0442\u0438 \u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e\u0442\u043e",
|
||||
"LabelGithub": "Github",
|
||||
@ -2108,7 +2110,7 @@
|
||||
"LabelSyncJobName": "Sync job name:",
|
||||
"LabelQuality": "Quality:",
|
||||
"OptionAutomaticallySyncNewContent": "Automatically sync new content",
|
||||
"OptionAutomaticallySyncNewContentHelp": "New content added to will be automatically synced to the device.",
|
||||
"OptionAutomaticallySyncNewContentHelp": "New content added to this folder will be automatically synced to the device.",
|
||||
"OptionSyncUnwatchedVideosOnly": "Sync unwatched videos only",
|
||||
"OptionSyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be synced, and videos will be removed from the device as they are watched.",
|
||||
"LabelItemLimit": "Item limit:",
|
||||
|
@ -1,4 +1,6 @@
|
||||
{
|
||||
"LabelMaxAudioFileBitrate": "Max audio file bitrate:",
|
||||
"LabelMaxAudioFileBitrateHelp": "Audio files with a higher bitrate will be converted by Emby Server. Select a higher value for better quality, or a lower value to conserve local storage space.",
|
||||
"LabelExit": "Sortir",
|
||||
"LabelVisitCommunity": "Visita la Comunitat",
|
||||
"LabelGithub": "Github",
|
||||
@ -2108,7 +2110,7 @@
|
||||
"LabelSyncJobName": "Sync job name:",
|
||||
"LabelQuality": "Qualitat",
|
||||
"OptionAutomaticallySyncNewContent": "Automatically sync new content",
|
||||
"OptionAutomaticallySyncNewContentHelp": "New content added to will be automatically synced to the device.",
|
||||
"OptionAutomaticallySyncNewContentHelp": "New content added to this folder will be automatically synced to the device.",
|
||||
"OptionSyncUnwatchedVideosOnly": "Sincronitza nom\u00e9s els v\u00eddeos no vists",
|
||||
"OptionSyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be synced, and videos will be removed from the device as they are watched.",
|
||||
"LabelItemLimit": "Item limit:",
|
||||
|
@ -1,4 +1,6 @@
|
||||
{
|
||||
"LabelMaxAudioFileBitrate": "Max audio file bitrate:",
|
||||
"LabelMaxAudioFileBitrateHelp": "Audio files with a higher bitrate will be converted by Emby Server. Select a higher value for better quality, or a lower value to conserve local storage space.",
|
||||
"LabelExit": "Zav\u0159\u00edt",
|
||||
"LabelVisitCommunity": "Nav\u0161t\u00edvit komunitu",
|
||||
"LabelGithub": "Github",
|
||||
|
@ -1,4 +1,6 @@
|
||||
{
|
||||
"LabelMaxAudioFileBitrate": "Max audio file bitrate:",
|
||||
"LabelMaxAudioFileBitrateHelp": "Audio files with a higher bitrate will be converted by Emby Server. Select a higher value for better quality, or a lower value to conserve local storage space.",
|
||||
"LabelExit": "Afslut",
|
||||
"LabelVisitCommunity": "Bes\u00f8g F\u00e6lleskab",
|
||||
"LabelGithub": "Github",
|
||||
@ -2108,7 +2110,7 @@
|
||||
"LabelSyncJobName": "Navn til synkroniserings job:",
|
||||
"LabelQuality": "Kvalitet:",
|
||||
"OptionAutomaticallySyncNewContent": "Synkroniser automatisk nyt indhold",
|
||||
"OptionAutomaticallySyncNewContentHelp": "New content added to will be automatically synced to the device.",
|
||||
"OptionAutomaticallySyncNewContentHelp": "New content added to this folder will be automatically synced to the device.",
|
||||
"OptionSyncUnwatchedVideosOnly": "Synkroniser kun usete videoer",
|
||||
"OptionSyncUnwatchedVideosOnlyHelp": "Kun usete videoer vil blive synkroniseret, og videoer vil blive fjernet fra enheden n\u00e5r de er blevet set.",
|
||||
"LabelItemLimit": "Maks. filer:",
|
||||
|
@ -1,4 +1,6 @@
|
||||
{
|
||||
"LabelMaxAudioFileBitrate": "Max. Bitrate Audio-Datei:",
|
||||
"LabelMaxAudioFileBitrateHelp": "Audio-Dateien mit einer h\u00f6heren Bitrate werden durch den Emby-server konvertiert. W\u00e4hle f\u00fcr eine bessere Qualit\u00e4t einen h\u00f6heren Wert aus, um Speicherplatz zu sparen einen niedrigeren.",
|
||||
"LabelExit": "Beenden",
|
||||
"LabelVisitCommunity": "Besuche die Community",
|
||||
"LabelGithub": "Github",
|
||||
@ -108,7 +110,7 @@
|
||||
"LabelSaveLocalMetadata": "Speichere Bildmaterial und Metadaten in den Medienverzeichnissen",
|
||||
"LabelSaveLocalMetadataHelp": "Durch die Speicherung von Bildmaterial und Metadaten direkt in den Medienverzeichnissen, befinden sich diese an einem Ort wo sie sehr leicht bearbeitet werden k\u00f6nnen.",
|
||||
"LabelDownloadInternetMetadata": "Lade Bildmaterial und Metadaten aus dem Internet",
|
||||
"LabelDownloadInternetMetadataHelp": "Emby Server kann Informationen \u00fcber Ihre Medien herunterladen um Anzeigen zu bereichern",
|
||||
"LabelDownloadInternetMetadataHelp": "Emby Server kann Informationen \u00fcber Ihre Medien herunterladen um deren Pr\u00e4sentation aufzuwerten.",
|
||||
"TabPreferences": "Einstellungen",
|
||||
"TabPassword": "Passwort",
|
||||
"TabLibraryAccess": "Bibliothekenzugriff",
|
||||
@ -1392,7 +1394,7 @@
|
||||
"LabelPasswordConfirm": "Passwort (Best\u00e4tigung):",
|
||||
"ButtonAddServer": "Server hinzuf\u00fcgen",
|
||||
"TabHomeScreen": "Startseite",
|
||||
"HeaderDisplay": "Anzeigen",
|
||||
"HeaderDisplay": "Anzeige",
|
||||
"HeaderNavigation": "Navigation",
|
||||
"LegendTheseSettingsShared": "Diese Einstellungen werden mit allen Ger\u00e4ten geteilt",
|
||||
"OptionEnableAutomaticServerUpdates": "Aktiviere automatische Server Updates",
|
||||
@ -1429,13 +1431,13 @@
|
||||
"ButtonDisplaySettings": "Bildeinstellungen",
|
||||
"ButtonHomeScreenSettings": "Startbildschirm Einstellungen",
|
||||
"ButtonPlaybackSettings": "Wiedergabe Einstellungen",
|
||||
"ButtonProfile": "Profile",
|
||||
"ButtonProfile": "Profil",
|
||||
"ButtonDisplaySettingsHelp": "Ihre Emby Bildeinstellungen",
|
||||
"ButtonHomeScreenSettingsHelp": "Konfigurieren Sie die Darstellung Ihres Startbildschirms",
|
||||
"ButtonPlaybackSettingsHelp": "Legen Sie Ihre Ton, Untertiteleinstellungen, streaming Qualit\u00e4t und weiteres fest.",
|
||||
"ButtonProfileHelp": "Legen Sie ein Profilbild und Passwort fest.",
|
||||
"HeaderHomeScreenSettings": "Startbildschirm EInstellungen",
|
||||
"HeaderProfile": "Profile",
|
||||
"HeaderProfile": "Profil",
|
||||
"HeaderLanguage": "Sprache",
|
||||
"ButtonSyncSettings": "Synchronisation Einstellungen",
|
||||
"ButtonSyncSettingsHelp": "Konfigurieren Sie Ihre Synchronisation",
|
||||
@ -2108,7 +2110,7 @@
|
||||
"LabelSyncJobName": "Synchronisations-Aufgabe:",
|
||||
"LabelQuality": "Qualit\u00e4t:",
|
||||
"OptionAutomaticallySyncNewContent": "Synchronisiere neue Inhalte automatisch",
|
||||
"OptionAutomaticallySyncNewContentHelp": "Neu hinzugef\u00fcgte Inhalte werden automatisch zum Ger\u00e4t synchronisiert.",
|
||||
"OptionAutomaticallySyncNewContentHelp": "Neu zu diesem Ordner hinzugef\u00fcgte Inhalte werden automatisch mit dem Ger\u00e4t synchronisiert.",
|
||||
"OptionSyncUnwatchedVideosOnly": "Synchronisiere nur ungesehene Videos.",
|
||||
"OptionSyncUnwatchedVideosOnlyHelp": "Nur ungesehene Video werden synchronisiert. Videos werden entfernt sobald diese auf dem Ger\u00e4t angeschaut wurden.",
|
||||
"LabelItemLimit": "Maximale Anzahl:",
|
||||
@ -2247,7 +2249,7 @@
|
||||
"ButtonLocalRefresh": "Lokaler Refresh",
|
||||
"ButtonAddMissingData": "Nur fehlende Daten hinzuf\u00fcgen",
|
||||
"ButtonFullRefresh": "Kompletter Refresh",
|
||||
"ValueExample": "13:00 Uhr",
|
||||
"ValueExample": "Beispiel: {0}",
|
||||
"OptionEnableAnonymousUsageReporting": "Aktiviere anonyme \u00dcbermittlung des Benutzerverhalten",
|
||||
"OptionEnableAnonymousUsageReportingHelp": "Erlauben SIe Emby anonyme Nutzerdaten wie installierte Pluging, Versionen der Emby Apps etc. zu sammeln. Diese Informationen werden nur zur Verbesserung der Software verwendet.",
|
||||
"LabelFileOrUrl": "Datei oder URL:",
|
||||
@ -2320,5 +2322,5 @@
|
||||
"ManageOfflineDownloads": "Offline-Downloads verwalten",
|
||||
"MessageDownloadScheduled": "Download geplant",
|
||||
"RememberMe": "Erinnere mich",
|
||||
"HeaderOfflineSync": "Offline Sync"
|
||||
"HeaderOfflineSync": "Offline-Synchronisierung"
|
||||
}
|
@ -1,4 +1,6 @@
|
||||
{
|
||||
"LabelMaxAudioFileBitrate": "Max audio file bitrate:",
|
||||
"LabelMaxAudioFileBitrateHelp": "Audio files with a higher bitrate will be converted by Emby Server. Select a higher value for better quality, or a lower value to conserve local storage space.",
|
||||
"LabelExit": "\u0388\u03be\u03bf\u03b4\u03bf\u03c2",
|
||||
"LabelVisitCommunity": "\u039a\u03bf\u03b9\u03bd\u03cc\u03c4\u03b7\u03c4\u03b1",
|
||||
"LabelGithub": "Github",
|
||||
@ -2108,7 +2110,7 @@
|
||||
"LabelSyncJobName": "Sync job name:",
|
||||
"LabelQuality": "Quality:",
|
||||
"OptionAutomaticallySyncNewContent": "Automatically sync new content",
|
||||
"OptionAutomaticallySyncNewContentHelp": "New content added to will be automatically synced to the device.",
|
||||
"OptionAutomaticallySyncNewContentHelp": "New content added to this folder will be automatically synced to the device.",
|
||||
"OptionSyncUnwatchedVideosOnly": "Sync unwatched videos only",
|
||||
"OptionSyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be synced, and videos will be removed from the device as they are watched.",
|
||||
"LabelItemLimit": "Item limit:",
|
||||
|
@ -1,4 +1,6 @@
|
||||
{
|
||||
"LabelMaxAudioFileBitrate": "Max audio file bitrate:",
|
||||
"LabelMaxAudioFileBitrateHelp": "Audio files with a higher bitrate will be converted by Emby Server. Select a higher value for better quality, or a lower value to conserve local storage space.",
|
||||
"LabelExit": "Exit",
|
||||
"LabelVisitCommunity": "Visit Community",
|
||||
"LabelGithub": "Github",
|
||||
|
@ -1,4 +1,6 @@
|
||||
{
|
||||
"LabelMaxAudioFileBitrate": "Max audio file bitrate:",
|
||||
"LabelMaxAudioFileBitrateHelp": "Audio files with a higher bitrate will be converted by Emby Server. Select a higher value for better quality, or a lower value to conserve local storage space.",
|
||||
"LabelExit": "Salir",
|
||||
"LabelVisitCommunity": "Visit Community",
|
||||
"LabelGithub": "Github",
|
||||
@ -2108,7 +2110,7 @@
|
||||
"LabelSyncJobName": "Sync job name:",
|
||||
"LabelQuality": "Quality:",
|
||||
"OptionAutomaticallySyncNewContent": "Automatically sync new content",
|
||||
"OptionAutomaticallySyncNewContentHelp": "New content added to will be automatically synced to the device.",
|
||||
"OptionAutomaticallySyncNewContentHelp": "New content added to this folder will be automatically synced to the device.",
|
||||
"OptionSyncUnwatchedVideosOnly": "Sync unwatched videos only",
|
||||
"OptionSyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be synced, and videos will be removed from the device as they are watched.",
|
||||
"LabelItemLimit": "Item limit:",
|
||||
|
@ -1,4 +1,6 @@
|
||||
{
|
||||
"LabelMaxAudioFileBitrate": "Max audio file bitrate:",
|
||||
"LabelMaxAudioFileBitrateHelp": "Audio files with a higher bitrate will be converted by Emby Server. Select a higher value for better quality, or a lower value to conserve local storage space.",
|
||||
"LabelExit": "Salir",
|
||||
"LabelVisitCommunity": "Visitar la Comunidad",
|
||||
"LabelGithub": "Github",
|
||||
@ -366,7 +368,7 @@
|
||||
"LabelAutomaticUpdatesTmdbHelp": "Al habilitarlo, se descargar\u00e1n autom\u00e1ticamente nuevas im\u00e1genes conforme son a\u00f1adidas a TheMovieDB.org. Las im\u00e1genes existentes no ser\u00e1n reemplazadas. Esto ocasionar\u00e1 que la exploraci\u00f3n de la biblioteca tome m\u00e1s tiempo y resultar\u00e1 en mayor actividad del disco.",
|
||||
"LabelAutomaticUpdatesTvdbHelp": "Al habilitarlo, se descargar\u00e1n autom\u00e1ticamente nuevas im\u00e1genes conforme son a\u00f1adidas a TheTVDB.com. Las im\u00e1genes existentes no ser\u00e1n reemplazadas. Esto causar\u00e1 que la exploraci\u00f3n de la biblioteca tome m\u00e1s tiempo y resultar\u00e1 en mayor actividad del disco.",
|
||||
"LabelFanartApiKey": "Clave api personal:",
|
||||
"LabelFanartApiKeyHelp": "Solicitar fanart sin una clave API personal muestra los resultados que fueron aprobados hace 7 d\u00edas. Con una clave API personal se reduce a 48 horas y si eres miembro VIP de fanart ser\u00e1 alrededor de 10 minutos.",
|
||||
"LabelFanartApiKeyHelp": "Solicitar fanart sin una clave API personal muestra los imagenes que fueron aprobadas hace 7 d\u00edas. Con una clave API personal se reduce a 48 horas y si eres miembro VIP de fanart ser\u00e1 alrededor de 10 minutos.",
|
||||
"ExtractChapterImagesHelp": "Extraer las im\u00e1genes de los cap\u00edtulos permitir\u00e1 a sus clientes mostrar gr\u00e1ficamente los men\u00fas de selecci\u00f3n de escenas. El proceso puede ser lento, hacer uso intensivo del cpu y requerir el uso de varios gigabytes de espacio. Se ejecuta como una tarea nocturna programada, aunque puede configurarse en el \u00e1rea de tareas programadas. No se recomienda ejecutarlo durante un horario de uso intensivo.",
|
||||
"LabelMetadataDownloadLanguage": "Lenguaje preferido para descargas:",
|
||||
"LabelImageSavingConvention": "Convenci\u00f3n de almacenamiento de im\u00e1genes:",
|
||||
@ -2247,7 +2249,7 @@
|
||||
"ButtonLocalRefresh": "Actualizaci\u00f3n local",
|
||||
"ButtonAddMissingData": "S\u00f3lo agregar datos faltantes",
|
||||
"ButtonFullRefresh": "Actualizaci\u00f3n completa",
|
||||
"ValueExample": "1:00 PM",
|
||||
"ValueExample": "Ejemplo: {0}",
|
||||
"OptionEnableAnonymousUsageReporting": "Habilitar envi\u00f3 de reportes an\u00f3nimo",
|
||||
"OptionEnableAnonymousUsageReportingHelp": "Permite a Emby colectar informaci\u00f3n an\u00f3nima como los complementos instalados, el numero de versi\u00f3n de sus apps Emby, etc. Esta informaci\u00f3n sera usada con el \u00fanico prop\u00f3sito de mejorar el software.",
|
||||
"LabelFileOrUrl": "Archivo o url:",
|
||||
@ -2315,10 +2317,10 @@
|
||||
"EnablePhotosHelp": "Las fotograf\u00edas ser\u00e1n detectadas y mostradas junto con otros archivos de medios.",
|
||||
"MakeAvailableOffline": "Hacer disponible sin conexi\u00f3n",
|
||||
"ConfirmRemoveDownload": "\u00bfEliminar descarga?",
|
||||
"RemoveDownload": "Remove download",
|
||||
"RemoveDownload": "Quitar descarga",
|
||||
"SyncToOtherDevices": "Sincronizar a otros dispositivos",
|
||||
"ManageOfflineDownloads": "Administrar elementos sin conexi\u00f3n",
|
||||
"MessageDownloadScheduled": "Descarga programada",
|
||||
"RememberMe": "Remember me",
|
||||
"HeaderOfflineSync": "Offline Sync"
|
||||
"RememberMe": "Recuerdame",
|
||||
"HeaderOfflineSync": "Sinc. desconectado"
|
||||
}
|
@ -1,4 +1,6 @@
|
||||
{
|
||||
"LabelMaxAudioFileBitrate": "Max audio file bitrate:",
|
||||
"LabelMaxAudioFileBitrateHelp": "Audio files with a higher bitrate will be converted by Emby Server. Select a higher value for better quality, or a lower value to conserve local storage space.",
|
||||
"LabelExit": "Salir",
|
||||
"LabelVisitCommunity": "Visitar la comunidad",
|
||||
"LabelGithub": "Github",
|
||||
|
@ -1,4 +1,6 @@
|
||||
{
|
||||
"LabelMaxAudioFileBitrate": "Max audio file bitrate:",
|
||||
"LabelMaxAudioFileBitrateHelp": "Audio files with a higher bitrate will be converted by Emby Server. Select a higher value for better quality, or a lower value to conserve local storage space.",
|
||||
"LabelExit": "Poistu",
|
||||
"LabelVisitCommunity": "K\u00e4y Yhteis\u00f6ss\u00e4",
|
||||
"LabelGithub": "Github",
|
||||
@ -2108,7 +2110,7 @@
|
||||
"LabelSyncJobName": "Sync job name:",
|
||||
"LabelQuality": "Quality:",
|
||||
"OptionAutomaticallySyncNewContent": "Automatically sync new content",
|
||||
"OptionAutomaticallySyncNewContentHelp": "New content added to will be automatically synced to the device.",
|
||||
"OptionAutomaticallySyncNewContentHelp": "New content added to this folder will be automatically synced to the device.",
|
||||
"OptionSyncUnwatchedVideosOnly": "Sync unwatched videos only",
|
||||
"OptionSyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be synced, and videos will be removed from the device as they are watched.",
|
||||
"LabelItemLimit": "Item limit:",
|
||||
|
@ -1,4 +1,6 @@
|
||||
{
|
||||
"LabelMaxAudioFileBitrate": "Max audio file bitrate:",
|
||||
"LabelMaxAudioFileBitrateHelp": "Audio files with a higher bitrate will be converted by Emby Server. Select a higher value for better quality, or a lower value to conserve local storage space.",
|
||||
"LabelExit": "Quitter",
|
||||
"LabelVisitCommunity": "Visiter la Communaut\u00e9",
|
||||
"LabelGithub": "Github",
|
||||
@ -2108,7 +2110,7 @@
|
||||
"LabelSyncJobName": "Sync job name:",
|
||||
"LabelQuality": "Quality:",
|
||||
"OptionAutomaticallySyncNewContent": "Automatically sync new content",
|
||||
"OptionAutomaticallySyncNewContentHelp": "New content added to will be automatically synced to the device.",
|
||||
"OptionAutomaticallySyncNewContentHelp": "New content added to this folder will be automatically synced to the device.",
|
||||
"OptionSyncUnwatchedVideosOnly": "Sync unwatched videos only",
|
||||
"OptionSyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be synced, and videos will be removed from the device as they are watched.",
|
||||
"LabelItemLimit": "Item limit:",
|
||||
|
@ -1,4 +1,6 @@
|
||||
{
|
||||
"LabelMaxAudioFileBitrate": "Max audio file bitrate:",
|
||||
"LabelMaxAudioFileBitrateHelp": "Audio files with a higher bitrate will be converted by Emby Server. Select a higher value for better quality, or a lower value to conserve local storage space.",
|
||||
"LabelExit": "Quitter",
|
||||
"LabelVisitCommunity": "Visiter la Communaut\u00e9",
|
||||
"LabelGithub": "Github",
|
||||
|
@ -1,4 +1,6 @@
|
||||
{
|
||||
"LabelMaxAudioFileBitrate": "Max audio file bitrate:",
|
||||
"LabelMaxAudioFileBitrateHelp": "Audio files with a higher bitrate will be converted by Emby Server. Select a higher value for better quality, or a lower value to conserve local storage space.",
|
||||
"LabelExit": "Quitter",
|
||||
"LabelVisitCommunity": "Visiter la Communaut\u00e9",
|
||||
"LabelGithub": "Github",
|
||||
|
@ -1,4 +1,6 @@
|
||||
{
|
||||
"LabelMaxAudioFileBitrate": "Max audio file bitrate:",
|
||||
"LabelMaxAudioFileBitrateHelp": "Audio files with a higher bitrate will be converted by Emby Server. Select a higher value for better quality, or a lower value to conserve local storage space.",
|
||||
"LabelExit": "Verlasse",
|
||||
"LabelVisitCommunity": "Bsuech d'Community",
|
||||
"LabelGithub": "Github",
|
||||
@ -2108,7 +2110,7 @@
|
||||
"LabelSyncJobName": "Sync job name:",
|
||||
"LabelQuality": "Quality:",
|
||||
"OptionAutomaticallySyncNewContent": "Automatically sync new content",
|
||||
"OptionAutomaticallySyncNewContentHelp": "New content added to will be automatically synced to the device.",
|
||||
"OptionAutomaticallySyncNewContentHelp": "New content added to this folder will be automatically synced to the device.",
|
||||
"OptionSyncUnwatchedVideosOnly": "Sync unwatched videos only",
|
||||
"OptionSyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be synced, and videos will be removed from the device as they are watched.",
|
||||
"LabelItemLimit": "Item limit:",
|
||||
|
@ -1,4 +1,6 @@
|
||||
{
|
||||
"LabelMaxAudioFileBitrate": "Max audio file bitrate:",
|
||||
"LabelMaxAudioFileBitrateHelp": "Audio files with a higher bitrate will be converted by Emby Server. Select a higher value for better quality, or a lower value to conserve local storage space.",
|
||||
"LabelExit": "\u05d9\u05e6\u05d9\u05d0\u05d4",
|
||||
"LabelVisitCommunity": "\u05d1\u05e7\u05e8 \u05d1\u05e7\u05d4\u05d9\u05dc\u05d4",
|
||||
"LabelGithub": "Github",
|
||||
@ -2108,7 +2110,7 @@
|
||||
"LabelSyncJobName": "Sync job name:",
|
||||
"LabelQuality": "Quality:",
|
||||
"OptionAutomaticallySyncNewContent": "Automatically sync new content",
|
||||
"OptionAutomaticallySyncNewContentHelp": "New content added to will be automatically synced to the device.",
|
||||
"OptionAutomaticallySyncNewContentHelp": "New content added to this folder will be automatically synced to the device.",
|
||||
"OptionSyncUnwatchedVideosOnly": "Sync unwatched videos only",
|
||||
"OptionSyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be synced, and videos will be removed from the device as they are watched.",
|
||||
"LabelItemLimit": "Item limit:",
|
||||
|
@ -1,4 +1,6 @@
|
||||
{
|
||||
"LabelMaxAudioFileBitrate": "Max audio file bitrate:",
|
||||
"LabelMaxAudioFileBitrateHelp": "Audio files with a higher bitrate will be converted by Emby Server. Select a higher value for better quality, or a lower value to conserve local storage space.",
|
||||
"LabelExit": "Izlaz",
|
||||
"LabelVisitCommunity": "Posjeti zajednicu",
|
||||
"LabelGithub": "Github",
|
||||
@ -2108,7 +2110,7 @@
|
||||
"LabelSyncJobName": "Sync job name:",
|
||||
"LabelQuality": "Quality:",
|
||||
"OptionAutomaticallySyncNewContent": "Automatically sync new content",
|
||||
"OptionAutomaticallySyncNewContentHelp": "New content added to will be automatically synced to the device.",
|
||||
"OptionAutomaticallySyncNewContentHelp": "New content added to this folder will be automatically synced to the device.",
|
||||
"OptionSyncUnwatchedVideosOnly": "Sync unwatched videos only",
|
||||
"OptionSyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be synced, and videos will be removed from the device as they are watched.",
|
||||
"LabelItemLimit": "Item limit:",
|
||||
|
@ -1,4 +1,6 @@
|
||||
{
|
||||
"LabelMaxAudioFileBitrate": "Max audio file bitrate:",
|
||||
"LabelMaxAudioFileBitrateHelp": "Audio files with a higher bitrate will be converted by Emby Server. Select a higher value for better quality, or a lower value to conserve local storage space.",
|
||||
"LabelExit": "Kil\u00e9p\u00e9s",
|
||||
"LabelVisitCommunity": "K\u00f6z\u00f6ss\u00e9g",
|
||||
"LabelGithub": "Github",
|
||||
@ -2108,7 +2110,7 @@
|
||||
"LabelSyncJobName": "Sync job name:",
|
||||
"LabelQuality": "Min\u0151s\u00e9g:",
|
||||
"OptionAutomaticallySyncNewContent": "Automatically sync new content",
|
||||
"OptionAutomaticallySyncNewContentHelp": "New content added to will be automatically synced to the device.",
|
||||
"OptionAutomaticallySyncNewContentHelp": "New content added to this folder will be automatically synced to the device.",
|
||||
"OptionSyncUnwatchedVideosOnly": "Sync unwatched videos only",
|
||||
"OptionSyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be synced, and videos will be removed from the device as they are watched.",
|
||||
"LabelItemLimit": "Elemsz\u00e1m limit:",
|
||||
|
@ -1,4 +1,6 @@
|
||||
{
|
||||
"LabelMaxAudioFileBitrate": "Max audio file bitrate:",
|
||||
"LabelMaxAudioFileBitrateHelp": "Audio files with a higher bitrate will be converted by Emby Server. Select a higher value for better quality, or a lower value to conserve local storage space.",
|
||||
"LabelExit": "Keluar",
|
||||
"LabelVisitCommunity": "Kunjungi Komunitas",
|
||||
"LabelGithub": "Github",
|
||||
@ -2108,7 +2110,7 @@
|
||||
"LabelSyncJobName": "Sync job name:",
|
||||
"LabelQuality": "Quality:",
|
||||
"OptionAutomaticallySyncNewContent": "Automatically sync new content",
|
||||
"OptionAutomaticallySyncNewContentHelp": "New content added to will be automatically synced to the device.",
|
||||
"OptionAutomaticallySyncNewContentHelp": "New content added to this folder will be automatically synced to the device.",
|
||||
"OptionSyncUnwatchedVideosOnly": "Sync unwatched videos only",
|
||||
"OptionSyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be synced, and videos will be removed from the device as they are watched.",
|
||||
"LabelItemLimit": "Item limit:",
|
||||
|
@ -1,4 +1,6 @@
|
||||
{
|
||||
"LabelMaxAudioFileBitrate": "Massimo bitrate per file audio:",
|
||||
"LabelMaxAudioFileBitrateHelp": "I file audio con un valore pi\u00f9 alto di bitrate saranno convertiti dal Server Emby. Seleziona un valore pi\u00f9 alto per una qualit\u00e0 migliore, oppure, un valore pi\u00f9 basso per risparmiare spazio di archiviazione.",
|
||||
"LabelExit": "Esci",
|
||||
"LabelVisitCommunity": "Visita la Community",
|
||||
"LabelGithub": "Github",
|
||||
@ -25,7 +27,7 @@
|
||||
"LabelWindowsService": "Servizio Windows",
|
||||
"AWindowsServiceHasBeenInstalled": "Servizio Windows Installato",
|
||||
"WindowsServiceIntro1": "Il Server Emby normalmente viene eseguito come un'applicazione del desktop con un'icona sulla barra in basso a destra, ma in alternativa, se si preferisce farlo funzionare come servizio in background, pu\u00f2 essere avviato dal pannello di controllo dei servizi di Windows.",
|
||||
"WindowsServiceIntro2": "If using the windows service, please note that it cannot be run at the same time as the tray icon, so you'll need to exit the tray in order to run the service. The service will also need to be configured with administrative privileges via the control panel. When running as a service, you will need to ensure that the service account has access to your media folders.",
|
||||
"WindowsServiceIntro2": "Se stai utilizzando il server come servizio windows ricorda che non puoi utilizzarlo contemporaneamente anche come icona sulla tray bar: se vuoi usare Emby come servizio devi prima uscire. Il servizio windows deve inoltre essere configurato con privilegi di amministratore attraverso il pannello di controllo. Quando esegui il server come servizio Windows devi inoltre essere certo che l'account che esegue il servizio abbia accesso alle cartelle dove sono presenti i tuoi file multimediali.",
|
||||
"WizardCompleted": "Questo \u00e8 tutto ci\u00f2 che serve per ora. Emby ha iniziato a raccogliere informazioni sulla tua libreria di file multimediali. Scopri alcune delle nostre app, quindi clicca su <b>Fine<\/b> per visualizzare il <b>Pannello di controllo del server<\/b>",
|
||||
"LabelConfigureSettings": "Configura le impostazioni",
|
||||
"LabelEnableVideoImageExtraction": "Abilita estrazione immagine video",
|
||||
@ -41,7 +43,7 @@
|
||||
"ButtonTermsOfService": "Termini di Servizio",
|
||||
"HeaderDeveloperOptions": "Opzioni per il programmatore",
|
||||
"OptionEnableWebClientResponseCache": "Enable web response caching",
|
||||
"OptionDisableForDevelopmentHelp": "Configure these as needed for web development purposes.",
|
||||
"OptionDisableForDevelopmentHelp": "Configura queste opzioni utili per lo sviluppo web.",
|
||||
"OptionEnableWebClientResourceMinification": "Enable web resource minification",
|
||||
"LabelDashboardSourcePath": "Percorso del codice sorgente del client web:",
|
||||
"LabelDashboardSourcePathHelp": "se si sta eseguendo il server da una sorgente, specifica il percorso dell'interfaccia. Tutti i file per i client saranno presi da questo percorso",
|
||||
@ -97,7 +99,7 @@
|
||||
"FolderTypeInherit": "ereditare",
|
||||
"LabelContentType": "Tipo di contenuto:",
|
||||
"TitleScheduledTasks": "Task pianificati",
|
||||
"HeaderSetupLibrary": "Setup your media libraries",
|
||||
"HeaderSetupLibrary": "Imposta le tue librerie multimediali.",
|
||||
"ButtonAddMediaFolder": "Aggiungi cartella",
|
||||
"LabelFolderType": "Tipo cartella",
|
||||
"ReferToMediaLibraryWiki": "Fare riferimento alla wiki libreria multimediale.",
|
||||
@ -132,7 +134,7 @@
|
||||
"LabelSubtitleLanguagePreference": "Preferenza per la lingua dei sottotitoli:",
|
||||
"OptionDefaultSubtitles": "Predefinito",
|
||||
"OptionSmartSubtitles": "Smart",
|
||||
"OptionSmartSubtitlesHelp": "Subtitles matching the language preference will be loaded when the audio is in a foreign language.",
|
||||
"OptionSmartSubtitlesHelp": "I sottotitoli che corrispondono alle tue preferenze sulla lingua saranno caricati quando la lingua dell'audio \u00e8 straniera.",
|
||||
"OptionOnlyForcedSubtitles": "Solo i sottotitoli forzati",
|
||||
"OptionAlwaysPlaySubtitles": "Visualizza sempre i sottotitoli",
|
||||
"OptionDefaultSubtitlesHelp": "Subtitles are loaded based on the default and forced flags in the embedded metadata. Language preferences are considered when multiple options are available.",
|
||||
|
@ -1,4 +1,6 @@
|
||||
{
|
||||
"LabelMaxAudioFileBitrate": "Max audio file bitrate:",
|
||||
"LabelMaxAudioFileBitrateHelp": "Audio files with a higher bitrate will be converted by Emby Server. Select a higher value for better quality, or a lower value to conserve local storage space.",
|
||||
"LabelExit": "\u0428\u044b\u0493\u0443",
|
||||
"LabelVisitCommunity": "\u049a\u0430\u0443\u044b\u043c\u0434\u0430\u0441\u0442\u044b\u049b\u049b\u0430 \u0431\u0430\u0440\u0443",
|
||||
"LabelGithub": "GitHub",
|
||||
|
@ -1,4 +1,6 @@
|
||||
{
|
||||
"LabelMaxAudioFileBitrate": "Max audio file bitrate:",
|
||||
"LabelMaxAudioFileBitrateHelp": "Audio files with a higher bitrate will be converted by Emby Server. Select a higher value for better quality, or a lower value to conserve local storage space.",
|
||||
"LabelExit": "\uc885\ub8cc",
|
||||
"LabelVisitCommunity": "\ucee4\ubba4\ub2c8\ud2f0 \ubc29\ubb38",
|
||||
"LabelGithub": "Github",
|
||||
|
@ -1,4 +1,6 @@
|
||||
{
|
||||
"LabelMaxAudioFileBitrate": "Max audio file bitrate:",
|
||||
"LabelMaxAudioFileBitrateHelp": "Audio files with a higher bitrate will be converted by Emby Server. Select a higher value for better quality, or a lower value to conserve local storage space.",
|
||||
"LabelExit": "Tutup",
|
||||
"LabelVisitCommunity": "Melawat Masyarakat",
|
||||
"LabelGithub": "Github",
|
||||
@ -2108,7 +2110,7 @@
|
||||
"LabelSyncJobName": "Sync job name:",
|
||||
"LabelQuality": "Quality:",
|
||||
"OptionAutomaticallySyncNewContent": "Automatically sync new content",
|
||||
"OptionAutomaticallySyncNewContentHelp": "New content added to will be automatically synced to the device.",
|
||||
"OptionAutomaticallySyncNewContentHelp": "New content added to this folder will be automatically synced to the device.",
|
||||
"OptionSyncUnwatchedVideosOnly": "Sync unwatched videos only",
|
||||
"OptionSyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be synced, and videos will be removed from the device as they are watched.",
|
||||
"LabelItemLimit": "Item limit:",
|
||||
|
@ -1,4 +1,6 @@
|
||||
{
|
||||
"LabelMaxAudioFileBitrate": "Max audio file bitrate:",
|
||||
"LabelMaxAudioFileBitrateHelp": "Audio files with a higher bitrate will be converted by Emby Server. Select a higher value for better quality, or a lower value to conserve local storage space.",
|
||||
"LabelExit": "Avslutt",
|
||||
"LabelVisitCommunity": "Bes\u00f8k samfunn",
|
||||
"LabelGithub": "Github",
|
||||
|
@ -1,4 +1,6 @@
|
||||
{
|
||||
"LabelMaxAudioFileBitrate": "Max audio file bitrate:",
|
||||
"LabelMaxAudioFileBitrateHelp": "Audio files with a higher bitrate will be converted by Emby Server. Select a higher value for better quality, or a lower value to conserve local storage space.",
|
||||
"LabelExit": "Afsluiten",
|
||||
"LabelVisitCommunity": "Bezoek Gemeenschap",
|
||||
"LabelGithub": "Github",
|
||||
|
@ -1,4 +1,6 @@
|
||||
{
|
||||
"LabelMaxAudioFileBitrate": "Max audio file bitrate:",
|
||||
"LabelMaxAudioFileBitrateHelp": "Audio files with a higher bitrate will be converted by Emby Server. Select a higher value for better quality, or a lower value to conserve local storage space.",
|
||||
"LabelExit": "Wyj\u015bcie",
|
||||
"LabelVisitCommunity": "Odwied\u017a spo\u0142eczno\u015b\u0107",
|
||||
"LabelGithub": "Github",
|
||||
|
@ -1,4 +1,6 @@
|
||||
{
|
||||
"LabelMaxAudioFileBitrate": "Bitrate m\u00e1x arquivos de \u00e1udio:",
|
||||
"LabelMaxAudioFileBitrateHelp": "Arquivos de \u00e1udio com um bitrate maior ser\u00e3o convertidos pelo Servidor Emby. Selecione um valor mais alto para melhor qualidade, ou mais baixo para conservar espa\u00e7o no armazenamento local.",
|
||||
"LabelExit": "Sair",
|
||||
"LabelVisitCommunity": "Visitar a Comunidade",
|
||||
"LabelGithub": "Github",
|
||||
@ -366,7 +368,7 @@
|
||||
"LabelAutomaticUpdatesTmdbHelp": "Se ativado, novas imagens ser\u00e3o automaticamente baixadas ao serem adicionadas ao TheMovieDB.org. As Imagens atuais n\u00e3o ser\u00e3o substitu\u00eddas. Isto far\u00e1 com que a varredura da biblioteca leve mais tempo e haja mais atividade no disco.",
|
||||
"LabelAutomaticUpdatesTvdbHelp": "Se ativado, novas imagens ser\u00e3o automaticamente baixadas ao serem adicionadas ao TheTVDB.com. As Imagens atuais n\u00e3o ser\u00e3o substitu\u00eddas. Isto far\u00e1 com que a varredura da biblioteca leve mais tempo e haja mais atividade no disco.",
|
||||
"LabelFanartApiKey": "Chave de api pessoal:",
|
||||
"LabelFanartApiKeyHelp": "Solicita\u00e7\u00f5es para fanart sem uma chave de API pessoal retornar\u00e3o resultados que foram aprovados h\u00e1 mais de 7 dias atr\u00e1s. Com uma chave de API pessoal isso diminui para 48 horas e se voc\u00ea for um membro VIP da fanart, isso diminuir\u00e1 para 10 minutos.",
|
||||
"LabelFanartApiKeyHelp": "Solicita\u00e7\u00f5es para fanart sem uma chave de API pessoal retornar\u00e3o imagens que foram aprovadas h\u00e1 mais de 7 dias. Com uma chave de API pessoal isso diminui para 48 horas e se voc\u00ea for um membro VIP da fanart, isso diminuir\u00e1 para aproximadamente 10 minutos.",
|
||||
"ExtractChapterImagesHelp": "Extrair imagens de cap\u00edtulos permitir\u00e1 aos clientes exibir menus gr\u00e1ficos de sele\u00e7\u00e3o de cenas. O processo pode ser lento, demandar uso intensivo de cpu e pode exigir bastante espa\u00e7o em disco. Ele ser\u00e1 executado quando os v\u00eddeos forem descobertos e tamb\u00e9m como uma tarefa noturna. O agendamento pode ser configurado na \u00e1rea de tarefas agendadas. N\u00e3o \u00e9 recomendado executar esta tarefa durante as horas de pico de uso.",
|
||||
"LabelMetadataDownloadLanguage": "Idioma preferido para download:",
|
||||
"LabelImageSavingConvention": "Conven\u00e7\u00e3o para salvar a imagem:",
|
||||
@ -1348,7 +1350,7 @@
|
||||
"HeaderPlayback": "Reprodu\u00e7\u00e3o de M\u00eddia",
|
||||
"OptionAllowAudioPlaybackTranscoding": "Permitir reprodu\u00e7\u00e3o de \u00e1udio que necessite de transcodifica\u00e7\u00e3o",
|
||||
"OptionAllowVideoPlaybackTranscoding": "Permitir reprodu\u00e7\u00e3o de v\u00eddeo que necessite de transcodifica\u00e7\u00e3o",
|
||||
"OptionAllowVideoPlaybackRemuxing": "Allow video playback that requires conversion without re-encoding",
|
||||
"OptionAllowVideoPlaybackRemuxing": "Pertimir reprodu\u00e7\u00e3o de v\u00eddeos que requeiram convers\u00e3o sem re-encoda\u00e7\u00e3o",
|
||||
"OptionAllowMediaPlaybackTranscodingHelp": "Os usu\u00e1rios receber\u00e3o mensagens de erro amig\u00e1veis quando o conte\u00fado n\u00e3o for reproduz\u00edvel, baseado nas pol\u00edticas.",
|
||||
"TabStreaming": "Streaming",
|
||||
"LabelRemoteClientBitrateLimit": "Limite de taxa de bits para streaming da Internet (Mbps):",
|
||||
@ -1582,8 +1584,8 @@
|
||||
"ButtonTakeTheTour": "Fa\u00e7a o tour",
|
||||
"HeaderWelcomeBack": "Bem-vindo novamente!",
|
||||
"ButtonTakeTheTourToSeeWhatsNew": "Fa\u00e7a o tour para ver as novidades",
|
||||
"MessageNoSyncJobsFound": "Nenhuma tarefa de sincroniza\u00e7\u00e3o encontrada. Crie uma tarefa de sincroniza\u00e7\u00e3o usando os bot\u00f5es Sincroniza\u00e7\u00e3o encontrados na interface web.",
|
||||
"MessageDownloadsFound": "No offline downloads. Make your media available offline by clicking Make Available Offline throughout the app.",
|
||||
"MessageNoSyncJobsFound": "Nenhuma tarefa de sincroniza\u00e7\u00e3o encontrada. Crie uma tarefa de sincroniza\u00e7\u00e3o usando os bot\u00f5es Sincronizar encontrados no app.",
|
||||
"MessageDownloadsFound": "Nenhum download offline. Disponibilize sua m\u00eddia offline clicando em Disponibilizar Offline dentro do aplicativo",
|
||||
"HeaderSelectDevices": "Selecionar Dispositivos",
|
||||
"ButtonCancelItem": "Cancelar item",
|
||||
"ButtonQueueForRetry": "Enfileirar para tentar novamente",
|
||||
@ -1739,7 +1741,7 @@
|
||||
"MessageEnsureOpenTuner": "Por favor, cetifique-se que existe um sintonizador aberto.",
|
||||
"ButtonDashboard": "Painel",
|
||||
"ButtonReports": "Relat\u00f3rios",
|
||||
"MetadataManager": "Metadata Manager",
|
||||
"MetadataManager": "Gerenciador de Metadados",
|
||||
"HeaderTime": "Tempo",
|
||||
"LabelAddedOnDate": "Adicionado {0}",
|
||||
"ButtonStart": "Iniciar",
|
||||
@ -1862,7 +1864,7 @@
|
||||
"OptionMusicAlbums": "\u00c1lbuns de m\u00fasica",
|
||||
"OptionMusicVideos": "V\u00eddeos Musicais",
|
||||
"OptionSongs": "M\u00fasicas",
|
||||
"OptionHomeVideos": "V\u00eddeos caseiros",
|
||||
"OptionHomeVideos": "Fotos & v\u00eddeos caseiros",
|
||||
"OptionBooks": "Livros",
|
||||
"ButtonUp": "Subir",
|
||||
"ButtonDown": "Descer",
|
||||
@ -2108,7 +2110,7 @@
|
||||
"LabelSyncJobName": "Nome da tarefa de sincroniza\u00e7\u00e3o:",
|
||||
"LabelQuality": "Qualidade:",
|
||||
"OptionAutomaticallySyncNewContent": "Sincronizar novo conte\u00fado automaticamente",
|
||||
"OptionAutomaticallySyncNewContentHelp": "Novo conte\u00fado adicionado ser\u00e1 automaticamente sincronizado com o dispositivo.",
|
||||
"OptionAutomaticallySyncNewContentHelp": "Novo conte\u00fado adicionado a esta pasta ser\u00e1 automaticamente sincronizado com o dispositivo.",
|
||||
"OptionSyncUnwatchedVideosOnly": "Sincronizar apenas v\u00eddeos n\u00e3o assistidos",
|
||||
"OptionSyncUnwatchedVideosOnlyHelp": "Apenas v\u00eddeos n\u00e3o assistidos ser\u00e3o sincronizados, e os v\u00eddeos ser\u00e3o removidos do dispositivo assim que forem assistidos.",
|
||||
"LabelItemLimit": "Limite de itens:",
|
||||
@ -2247,7 +2249,7 @@
|
||||
"ButtonLocalRefresh": "Atualiza\u00e7\u00e3o local",
|
||||
"ButtonAddMissingData": "Adicionar apenas dados que faltam",
|
||||
"ButtonFullRefresh": "Atualiza\u00e7\u00e3o completa",
|
||||
"ValueExample": "13:00 hs",
|
||||
"ValueExample": "Exemplo: {0}",
|
||||
"OptionEnableAnonymousUsageReporting": "Ativar relat\u00f3rio de uso an\u00f4nimo",
|
||||
"OptionEnableAnonymousUsageReportingHelp": "Permitir que o Emby colete dados an\u00f4nimos como os plugins instalados, os n\u00fameros de vers\u00e3o de seus apps Emby, etc. Estas informa\u00e7\u00f5es s\u00e3o usadas apenas com o prop\u00f3sito de aprimorar o software.",
|
||||
"LabelFileOrUrl": "Arquivo ou url:",
|
||||
@ -2311,14 +2313,14 @@
|
||||
"XmlTvPremiere": "Por padr\u00e3o, o Emby importar\u00e1 {0} horas de dados do guia. A importa\u00e7\u00e3o de dados ilimitados exige uma subscri\u00e7\u00e3o ativa do Emby Premiere.",
|
||||
"MoreFromValue": "Mais de {0}",
|
||||
"OptionSaveMetadataAsHiddenHelp": "Ao alterar isto, aplicar\u00e1 sobre novos metadados salvos daqui para a frente. Os arquivos de metadados existentes ser\u00e3o atualizados na pr\u00f3xima vez que forem salvos no Servidor Emby.",
|
||||
"EnablePhotos": "Enable photos",
|
||||
"EnablePhotosHelp": "Photos will be detected and displayed alongside other media files.",
|
||||
"MakeAvailableOffline": "Make available offline",
|
||||
"ConfirmRemoveDownload": "Remove download?",
|
||||
"RemoveDownload": "Remove download",
|
||||
"SyncToOtherDevices": "Sync to other devices",
|
||||
"ManageOfflineDownloads": "Manage offline downloads",
|
||||
"MessageDownloadScheduled": "Download scheduled",
|
||||
"RememberMe": "Remember me",
|
||||
"HeaderOfflineSync": "Offline Sync"
|
||||
"EnablePhotos": "Habilitar fotos",
|
||||
"EnablePhotosHelp": "Fotos ser\u00e3o detectadas e mostradas junto com outros arquivos de m\u00eddia",
|
||||
"MakeAvailableOffline": "Disponibilizar Offline",
|
||||
"ConfirmRemoveDownload": "Remover download?",
|
||||
"RemoveDownload": "Remover download",
|
||||
"SyncToOtherDevices": "Sincronizar para outros dispositivos",
|
||||
"ManageOfflineDownloads": "Gerenciar downloads offline",
|
||||
"MessageDownloadScheduled": "Download agendado",
|
||||
"RememberMe": "Lembrar de mim",
|
||||
"HeaderOfflineSync": "Sincroniza\u00e7\u00e3o Offline"
|
||||
}
|
@ -1,4 +1,6 @@
|
||||
{
|
||||
"LabelMaxAudioFileBitrate": "Max audio file bitrate:",
|
||||
"LabelMaxAudioFileBitrateHelp": "Audio files with a higher bitrate will be converted by Emby Server. Select a higher value for better quality, or a lower value to conserve local storage space.",
|
||||
"LabelExit": "Iesire",
|
||||
"LabelVisitCommunity": "Viziteaza comunitatea",
|
||||
"LabelGithub": "Github",
|
||||
@ -2108,7 +2110,7 @@
|
||||
"LabelSyncJobName": "Sync job name:",
|
||||
"LabelQuality": "Quality:",
|
||||
"OptionAutomaticallySyncNewContent": "Automatically sync new content",
|
||||
"OptionAutomaticallySyncNewContentHelp": "New content added to will be automatically synced to the device.",
|
||||
"OptionAutomaticallySyncNewContentHelp": "New content added to this folder will be automatically synced to the device.",
|
||||
"OptionSyncUnwatchedVideosOnly": "Sync unwatched videos only",
|
||||
"OptionSyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be synced, and videos will be removed from the device as they are watched.",
|
||||
"LabelItemLimit": "Item limit:",
|
||||
|
@ -1,4 +1,6 @@
|
||||
{
|
||||
"LabelMaxAudioFileBitrate": "Max audio file bitrate:",
|
||||
"LabelMaxAudioFileBitrateHelp": "Audio files with a higher bitrate will be converted by Emby Server. Select a higher value for better quality, or a lower value to conserve local storage space.",
|
||||
"LabelExit": "\u0412\u044b\u0445\u043e\u0434",
|
||||
"LabelVisitCommunity": "\u041f\u043e\u0441\u0435\u0449\u0435\u043d\u0438\u0435 \u0421\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430",
|
||||
"LabelGithub": "GitHub",
|
||||
|
@ -1,4 +1,6 @@
|
||||
{
|
||||
"LabelMaxAudioFileBitrate": "Max audio file bitrate:",
|
||||
"LabelMaxAudioFileBitrateHelp": "Audio files with a higher bitrate will be converted by Emby Server. Select a higher value for better quality, or a lower value to conserve local storage space.",
|
||||
"LabelExit": "Exit",
|
||||
"LabelVisitCommunity": "Visit Community",
|
||||
"LabelGithub": "Github",
|
||||
@ -2108,7 +2110,7 @@
|
||||
"LabelSyncJobName": "Sync job name:",
|
||||
"LabelQuality": "Quality:",
|
||||
"OptionAutomaticallySyncNewContent": "Automatically sync new content",
|
||||
"OptionAutomaticallySyncNewContentHelp": "New content added to will be automatically synced to the device.",
|
||||
"OptionAutomaticallySyncNewContentHelp": "New content added to this folder will be automatically synced to the device.",
|
||||
"OptionSyncUnwatchedVideosOnly": "Sync unwatched videos only",
|
||||
"OptionSyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be synced, and videos will be removed from the device as they are watched.",
|
||||
"LabelItemLimit": "Item limit:",
|
||||
|
@ -1,4 +1,6 @@
|
||||
{
|
||||
"LabelMaxAudioFileBitrate": "Max audio file bitrate:",
|
||||
"LabelMaxAudioFileBitrateHelp": "Audio files with a higher bitrate will be converted by Emby Server. Select a higher value for better quality, or a lower value to conserve local storage space.",
|
||||
"LabelExit": "Izhod",
|
||||
"LabelVisitCommunity": "Obiscite Skupnost",
|
||||
"LabelGithub": "Github",
|
||||
@ -2108,7 +2110,7 @@
|
||||
"LabelSyncJobName": "Sync job name:",
|
||||
"LabelQuality": "Kvaliteta:",
|
||||
"OptionAutomaticallySyncNewContent": "Samodejno sinhroniziraj nove vsebine",
|
||||
"OptionAutomaticallySyncNewContentHelp": "New content added to will be automatically synced to the device.",
|
||||
"OptionAutomaticallySyncNewContentHelp": "New content added to this folder will be automatically synced to the device.",
|
||||
"OptionSyncUnwatchedVideosOnly": "Sync unwatched videos only",
|
||||
"OptionSyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be synced, and videos will be removed from the device as they are watched.",
|
||||
"LabelItemLimit": "Item limit:",
|
||||
|
@ -1,4 +1,6 @@
|
||||
{
|
||||
"LabelMaxAudioFileBitrate": "Max audio file bitrate:",
|
||||
"LabelMaxAudioFileBitrateHelp": "Audio files with a higher bitrate will be converted by Emby Server. Select a higher value for better quality, or a lower value to conserve local storage space.",
|
||||
"LabelExit": "Avsluta",
|
||||
"LabelVisitCommunity": "Bes\u00f6k v\u00e5rt diskussionsforum",
|
||||
"LabelGithub": "Github",
|
||||
|
@ -1,4 +1,6 @@
|
||||
{
|
||||
"LabelMaxAudioFileBitrate": "Max audio file bitrate:",
|
||||
"LabelMaxAudioFileBitrateHelp": "Audio files with a higher bitrate will be converted by Emby Server. Select a higher value for better quality, or a lower value to conserve local storage space.",
|
||||
"LabelExit": "Cikis",
|
||||
"LabelVisitCommunity": "Bizi Ziyaret Edin",
|
||||
"LabelGithub": "Github",
|
||||
@ -2108,7 +2110,7 @@
|
||||
"LabelSyncJobName": "Sync job name:",
|
||||
"LabelQuality": "Quality:",
|
||||
"OptionAutomaticallySyncNewContent": "Automatically sync new content",
|
||||
"OptionAutomaticallySyncNewContentHelp": "New content added to will be automatically synced to the device.",
|
||||
"OptionAutomaticallySyncNewContentHelp": "New content added to this folder will be automatically synced to the device.",
|
||||
"OptionSyncUnwatchedVideosOnly": "Sync unwatched videos only",
|
||||
"OptionSyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be synced, and videos will be removed from the device as they are watched.",
|
||||
"LabelItemLimit": "Item limit:",
|
||||
|
@ -1,4 +1,6 @@
|
||||
{
|
||||
"LabelMaxAudioFileBitrate": "Max audio file bitrate:",
|
||||
"LabelMaxAudioFileBitrateHelp": "Audio files with a higher bitrate will be converted by Emby Server. Select a higher value for better quality, or a lower value to conserve local storage space.",
|
||||
"LabelExit": "\u0412\u0438\u0439\u0442\u0438",
|
||||
"LabelVisitCommunity": "Visit Community",
|
||||
"LabelGithub": "Github",
|
||||
@ -2108,7 +2110,7 @@
|
||||
"LabelSyncJobName": "Sync job name:",
|
||||
"LabelQuality": "Quality:",
|
||||
"OptionAutomaticallySyncNewContent": "Automatically sync new content",
|
||||
"OptionAutomaticallySyncNewContentHelp": "New content added to will be automatically synced to the device.",
|
||||
"OptionAutomaticallySyncNewContentHelp": "New content added to this folder will be automatically synced to the device.",
|
||||
"OptionSyncUnwatchedVideosOnly": "Sync unwatched videos only",
|
||||
"OptionSyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be synced, and videos will be removed from the device as they are watched.",
|
||||
"LabelItemLimit": "Item limit:",
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user