diff --git a/dashboard-ui/bower_components/emby-webcomponents/.bower.json b/dashboard-ui/bower_components/emby-webcomponents/.bower.json index cb026748a8..c4a7d2d932 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/.bower.json +++ b/dashboard-ui/bower_components/emby-webcomponents/.bower.json @@ -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", diff --git a/dashboard-ui/bower_components/emby-webcomponents/cardbuilder/card.css b/dashboard-ui/bower_components/emby-webcomponents/cardbuilder/card.css index 1d2bc7bb71..9407e53f0b 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/cardbuilder/card.css +++ b/dashboard-ui/bower_components/emby-webcomponents/cardbuilder/card.css @@ -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); diff --git a/dashboard-ui/bower_components/emby-webcomponents/cardbuilder/cardbuilder.js b/dashboard-ui/bower_components/emby-webcomponents/cardbuilder/cardbuilder.js index 0a7d891004..775efbee76 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/cardbuilder/cardbuilder.js +++ b/dashboard-ui/bower_components/emby-webcomponents/cardbuilder/cardbuilder.js @@ -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); } diff --git a/dashboard-ui/bower_components/emby-webcomponents/cardbuilder/peoplecardbuilder.js b/dashboard-ui/bower_components/emby-webcomponents/cardbuilder/peoplecardbuilder.js index 83bc2aace5..b3b404d8ad 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/cardbuilder/peoplecardbuilder.js +++ b/dashboard-ui/bower_components/emby-webcomponents/cardbuilder/peoplecardbuilder.js @@ -93,7 +93,7 @@ define(['imageLoader', 'itemShortcuts', 'connectionManager', 'layoutManager'], f \ \ \ -
\ +
\ ' + nameHtml + '\
\
\ diff --git a/dashboard-ui/bower_components/emby-webcomponents/focusmanager.js b/dashboard-ui/bower_components/emby-webcomponents/focusmanager.js index 9e0c027076..454d28a050 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/focusmanager.js +++ b/dashboard-ui/bower_components/emby-webcomponents/focusmanager.js @@ -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: diff --git a/dashboard-ui/bower_components/emby-webcomponents/itemcontextmenu.js b/dashboard-ui/bower_components/emby-webcomponents/itemcontextmenu.js index 1fb4fae552..9494f6e98e 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/itemcontextmenu.js +++ b/dashboard-ui/bower_components/emby-webcomponents/itemcontextmenu.js @@ -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)(); diff --git a/dashboard-ui/bower_components/emby-webcomponents/itemidentifier/itemidentifier.js b/dashboard-ui/bower_components/emby-webcomponents/itemidentifier/itemidentifier.js index 5db0d55395..876a35f61d 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/itemidentifier/itemidentifier.js +++ b/dashboard-ui/bower_components/emby-webcomponents/itemidentifier/itemidentifier.js @@ -203,7 +203,7 @@ html += ''; html += ''; - html += '
'; + html += '
'; html += '
' + result.Name + '
'; html += '
'; diff --git a/dashboard-ui/bower_components/emby-webcomponents/multiselect/multiselect.js b/dashboard-ui/bower_components/emby-webcomponents/multiselect/multiselect.js index aa68c6332a..b5c9951d62 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/multiselect/multiselect.js +++ b/dashboard-ui/bower_components/emby-webcomponents/multiselect/multiselect.js @@ -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(); diff --git a/dashboard-ui/bower_components/emby-webcomponents/scroller/smoothscroller.js b/dashboard-ui/bower_components/emby-webcomponents/scroller/smoothscroller.js index d72e4c4156..83f5a5b1be 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/scroller/smoothscroller.js +++ b/dashboard-ui/bower_components/emby-webcomponents/scroller/smoothscroller.js @@ -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'; } diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/ar.json b/dashboard-ui/bower_components/emby-webcomponents/strings/ar.json index 4982b64d81..4ace389b3e 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/ar.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/ar.json @@ -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", diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/bg-BG.json b/dashboard-ui/bower_components/emby-webcomponents/strings/bg-BG.json index bd971ace2c..08f4863f89 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/bg-BG.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/bg-BG.json @@ -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", diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/ca.json b/dashboard-ui/bower_components/emby-webcomponents/strings/ca.json index 0d4807ad54..c76d38b42c 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/ca.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/ca.json @@ -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", diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/cs.json b/dashboard-ui/bower_components/emby-webcomponents/strings/cs.json index e3732a85ca..594de60978 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/cs.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/cs.json @@ -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", diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/da.json b/dashboard-ui/bower_components/emby-webcomponents/strings/da.json index 66ec2e1bdd..62d4247afb 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/da.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/da.json @@ -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", diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/de.json b/dashboard-ui/bower_components/emby-webcomponents/strings/de.json index 82c6ee4b1a..160239d1d5 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/de.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/de.json @@ -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", diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/el.json b/dashboard-ui/bower_components/emby-webcomponents/strings/el.json index 21d7ce6806..48bc0103ca 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/el.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/el.json @@ -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", diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/en-GB.json b/dashboard-ui/bower_components/emby-webcomponents/strings/en-GB.json index 779f2dae29..decbc67f8b 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/en-GB.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/en-GB.json @@ -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", diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/en-US.json b/dashboard-ui/bower_components/emby-webcomponents/strings/en-US.json index 6b249205f5..98669d50a6 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/en-US.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/en-US.json @@ -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." } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/es-AR.json b/dashboard-ui/bower_components/emby-webcomponents/strings/es-AR.json index c3b5c2ca52..f23c8da896 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/es-AR.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/es-AR.json @@ -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", diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/es-MX.json b/dashboard-ui/bower_components/emby-webcomponents/strings/es-MX.json index ed96888622..d85e76df95 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/es-MX.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/es-MX.json @@ -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", diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/es.json b/dashboard-ui/bower_components/emby-webcomponents/strings/es.json index 18d66fad0f..c04ec3075d 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/es.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/es.json @@ -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", diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/fi.json b/dashboard-ui/bower_components/emby-webcomponents/strings/fi.json index 4c676fda91..434687483a 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/fi.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/fi.json @@ -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", diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/fr-CA.json b/dashboard-ui/bower_components/emby-webcomponents/strings/fr-CA.json index 552f540717..17cb4c8372 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/fr-CA.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/fr-CA.json @@ -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", diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/fr.json b/dashboard-ui/bower_components/emby-webcomponents/strings/fr.json index 0a61d404c5..f02b325c38 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/fr.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/fr.json @@ -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}." } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/gsw.json b/dashboard-ui/bower_components/emby-webcomponents/strings/gsw.json index e873bc0bad..e40d762d4d 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/gsw.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/gsw.json @@ -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", diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/he.json b/dashboard-ui/bower_components/emby-webcomponents/strings/he.json index a5484acdeb..b472f9cc0c 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/he.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/he.json @@ -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", diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/hr.json b/dashboard-ui/bower_components/emby-webcomponents/strings/hr.json index ac6eaf1d83..105a3d093e 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/hr.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/hr.json @@ -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", diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/hu.json b/dashboard-ui/bower_components/emby-webcomponents/strings/hu.json index 8c07f95850..909c517d74 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/hu.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/hu.json @@ -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", diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/id.json b/dashboard-ui/bower_components/emby-webcomponents/strings/id.json index e808a1c630..cec57d8f18 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/id.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/id.json @@ -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", diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/it.json b/dashboard-ui/bower_components/emby-webcomponents/strings/it.json index d4d6ecbb72..8356e5be07 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/it.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/it.json @@ -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", diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/kk.json b/dashboard-ui/bower_components/emby-webcomponents/strings/kk.json index 7435cb7505..1612728aa3 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/kk.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/kk.json @@ -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", diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/ko.json b/dashboard-ui/bower_components/emby-webcomponents/strings/ko.json index f19c9d2f05..112db7cba2 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/ko.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/ko.json @@ -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", diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/ms.json b/dashboard-ui/bower_components/emby-webcomponents/strings/ms.json index 552f540717..17cb4c8372 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/ms.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/ms.json @@ -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", diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/nb.json b/dashboard-ui/bower_components/emby-webcomponents/strings/nb.json index ff95104968..9a579b1377 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/nb.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/nb.json @@ -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", diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/nl.json b/dashboard-ui/bower_components/emby-webcomponents/strings/nl.json index 3eb3d4bb86..14ecb6990c 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/nl.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/nl.json @@ -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", diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/pl.json b/dashboard-ui/bower_components/emby-webcomponents/strings/pl.json index fc3b4f69b7..ed35b63a53 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/pl.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/pl.json @@ -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", diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/pt-BR.json b/dashboard-ui/bower_components/emby-webcomponents/strings/pt-BR.json index 05f81dc56e..57330a3d60 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/pt-BR.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/pt-BR.json @@ -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", diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/pt-PT.json b/dashboard-ui/bower_components/emby-webcomponents/strings/pt-PT.json index 4ffe9fe89b..35e2ccc11a 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/pt-PT.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/pt-PT.json @@ -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", diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/ro.json b/dashboard-ui/bower_components/emby-webcomponents/strings/ro.json index a802907826..5aaa8bf35d 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/ro.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/ro.json @@ -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", diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/ru.json b/dashboard-ui/bower_components/emby-webcomponents/strings/ru.json index 44e16005e2..39b84ad052 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/ru.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/ru.json @@ -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", diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/sk.json b/dashboard-ui/bower_components/emby-webcomponents/strings/sk.json index 552f540717..17cb4c8372 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/sk.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/sk.json @@ -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", diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/sl-SI.json b/dashboard-ui/bower_components/emby-webcomponents/strings/sl-SI.json index ec4cb25764..411cccbe8b 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/sl-SI.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/sl-SI.json @@ -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", diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/sv.json b/dashboard-ui/bower_components/emby-webcomponents/strings/sv.json index 387064bd8e..7041f8946d 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/sv.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/sv.json @@ -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", diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/tr.json b/dashboard-ui/bower_components/emby-webcomponents/strings/tr.json index fc614cb8c2..df667970f0 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/tr.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/tr.json @@ -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", diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/uk.json b/dashboard-ui/bower_components/emby-webcomponents/strings/uk.json index 15ff01f2dd..d005d237dc 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/uk.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/uk.json @@ -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", diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/vi.json b/dashboard-ui/bower_components/emby-webcomponents/strings/vi.json index d5428b4e97..8491a6390d 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/vi.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/vi.json @@ -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", diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/zh-CN.json b/dashboard-ui/bower_components/emby-webcomponents/strings/zh-CN.json index 1b9897833b..97e1d4ec6e 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/zh-CN.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/zh-CN.json @@ -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", diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/zh-HK.json b/dashboard-ui/bower_components/emby-webcomponents/strings/zh-HK.json index 1a296176a2..3f3957b587 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/zh-HK.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/zh-HK.json @@ -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", diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/zh-TW.json b/dashboard-ui/bower_components/emby-webcomponents/strings/zh-TW.json index 4687a2d7b8..9b2a7c4a67 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/zh-TW.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/zh-TW.json @@ -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", diff --git a/dashboard-ui/bower_components/emby-webcomponents/sync/sync.js b/dashboard-ui/bower_components/emby-webcomponents/sync/sync.js new file mode 100644 index 0000000000..cbcbc2ab35 --- /dev/null +++ b/dashboard-ui/bower_components/emby-webcomponents/sync/sync.js @@ -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 += '
'; + html += ''; + html += '
'; + } + + if (options.readOnlySyncTarget) { + html += '
'; + html += ''; + html += '
'; + } else { + html += '
'; + html += ''; + if (!targets.length) { + html += '
' + globalize.translate('sharedcomponents#LabelSyncNoTargetsHelp') + '
'; + html += ''; + } + html += '
'; + } + + html += '
'; + html += ''; + html += '
'; + html += '
'; + + html += '
'; + html += ''; + html += '
'; + html += '
'; + + html += '
'; + html += ''; + html += '
'; + + if (dialogOptions.Options.indexOf('UnwatchedOnly') != -1) { + html += '
'; + html += ''; + html += '
' + globalize.translate('sharedcomponents#SyncUnwatchedVideosOnlyHelp') + '
'; + html += '
'; + } + + if (dialogOptions.Options.indexOf('SyncNewContent') != -1) { + html += '
'; + html += ''; + html += '
' + globalize.translate('sharedcomponents#AutomaticallySyncNewContentHelp') + '
'; + html += '
'; + } + + if (dialogOptions.Options.indexOf('ItemLimit') != -1) { + html += '
'; + html += ''; + html += '
' + globalize.translate('sharedcomponents#LabelItemLimitHelp') + '
'; + html += '
'; + } + + //html += '
'; + //html += '
'; + + 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 += '
'; + html += ''; + html += '
'; + html += globalize.translate('sharedcomponents#Sync'); + html += '
'; + + html += ''; + + html += '
'; + + html += '
'; + html += '
'; + + html += '
'; + + html += '
'; + + html += '

'; + html += ''; + html += '

'; + + html += '
'; + + html += '
'; + html += '
'; + + 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 ''; + + }).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 ''; + + }).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 + }; +}); \ No newline at end of file diff --git a/dashboard-ui/bower_components/iron-meta/.bower.json b/dashboard-ui/bower_components/iron-meta/.bower.json index f4bfef4a7c..e1304d174b 100644 --- a/dashboard-ui/bower_components/iron-meta/.bower.json +++ b/dashboard-ui/bower_components/iron-meta/.bower.json @@ -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" } \ No newline at end of file diff --git a/dashboard-ui/bower_components/polymer/.bower.json b/dashboard-ui/bower_components/polymer/.bower.json index a96f0f050e..25eb84c037 100644 --- a/dashboard-ui/bower_components/polymer/.bower.json +++ b/dashboard-ui/bower_components/polymer/.bower.json @@ -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" } \ No newline at end of file diff --git a/dashboard-ui/components/categorysyncbuttons.js b/dashboard-ui/components/categorysyncbuttons.js index cd0f3677ba..9e33c6bd1f 100644 --- a/dashboard-ui/components/categorysyncbuttons.js +++ b/dashboard-ui/components/categorysyncbuttons.js @@ -35,7 +35,8 @@ require(['syncDialog'], function (syncDialog) { syncDialog.showMenu({ ParentId: parentId, - Category: category + Category: category, + serverId: ApiClient.serverId() }); }); } diff --git a/dashboard-ui/css/site.css b/dashboard-ui/css/site.css index 0a3b6756b5..a3183130a6 100644 --- a/dashboard-ui/css/site.css +++ b/dashboard-ui/css/site.css @@ -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; } diff --git a/dashboard-ui/encodingsettings.html b/dashboard-ui/encodingsettings.html index 984fccfa6a..08e308d3f2 100644 --- a/dashboard-ui/encodingsettings.html +++ b/dashboard-ui/encodingsettings.html @@ -11,6 +11,7 @@ +
${LabelHardwareAccelerationTypeHelp}
diff --git a/dashboard-ui/scripts/itemdetailpage.js b/dashboard-ui/scripts/itemdetailpage.js index 36532963c6..873c545944 100644 --- a/dashboard-ui/scripts/itemdetailpage.js +++ b/dashboard-ui/scripts/itemdetailpage.js @@ -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); diff --git a/dashboard-ui/scripts/librarybrowser.js b/dashboard-ui/scripts/librarybrowser.js index 5f650d56bc..0578c7cde9 100644 --- a/dashboard-ui/scripts/librarybrowser.js +++ b/dashboard-ui/scripts/librarybrowser.js @@ -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)) { diff --git a/dashboard-ui/scripts/loginpage.js b/dashboard-ui/scripts/loginpage.js index 8a5cc47c6d..22a6bd2957 100644 --- a/dashboard-ui/scripts/loginpage.js +++ b/dashboard-ui/scripts/loginpage.js @@ -162,7 +162,7 @@ html += ''; html += ''; - html += '
'; + html += '
'; html += '
' + user.Name + '
'; html += '
'; diff --git a/dashboard-ui/scripts/medialibrarypage.js b/dashboard-ui/scripts/medialibrarypage.js index c96392fc05..dd02c472f2 100644 --- a/dashboard-ui/scripts/medialibrarypage.js +++ b/dashboard-ui/scripts/medialibrarypage.js @@ -342,7 +342,7 @@ // cardScalable html += "
"; - html += '
'; + html += '
'; if (virtualFolder.showMenu !== false) { var moreIcon = appHost.moreIcon == 'dots-horiz' ? '' : ''; diff --git a/dashboard-ui/scripts/plugincatalogpage.js b/dashboard-ui/scripts/plugincatalogpage.js index 71a9c94247..35aa237380 100644 --- a/dashboard-ui/scripts/plugincatalogpage.js +++ b/dashboard-ui/scripts/plugincatalogpage.js @@ -217,7 +217,7 @@ // cardScalable html += "
"; - html += '
'; + html += '
'; html += "
"; html += plugin.name; diff --git a/dashboard-ui/scripts/pluginspage.js b/dashboard-ui/scripts/pluginspage.js index 683f9d2abd..0827a317f5 100644 --- a/dashboard-ui/scripts/pluginspage.js +++ b/dashboard-ui/scripts/pluginspage.js @@ -81,7 +81,7 @@ // cardScalable html += "
"; - html += '
'; + html += '
'; html += '
'; html += ''; diff --git a/dashboard-ui/scripts/site.js b/dashboard-ui/scripts/site.js index 94a5fb61ca..40e589270e 100644 --- a/dashboard-ui/scripts/site.js +++ b/dashboard-ui/scripts/site.js @@ -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 = {}; diff --git a/dashboard-ui/scripts/sync.js b/dashboard-ui/scripts/sync.js deleted file mode 100644 index 3cc24ace42..0000000000 --- a/dashboard-ui/scripts/sync.js +++ /dev/null @@ -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 += '
'; - html += ''; - html += '
'; - } - - if (options.readOnlySyncTarget) { - html += '
'; - html += ''; - html += '
'; - } else { - html += '
'; - html += ''; - if (!targets.length) { - html += '
' + Globalize.translate('LabelSyncNoTargetsHelp') + '
'; - html += ''; - } - html += '
'; - } - - html += ''; - - html += ''; - - html += ''; - - if (dialogOptions.Options.indexOf('UnwatchedOnly') != -1) { - html += '
'; - html += ''; - html += '
' + Globalize.translate('OptionSyncUnwatchedVideosOnlyHelp') + '
'; - html += '
'; - } - - if (dialogOptions.Options.indexOf('SyncNewContent') != -1) { - html += '
'; - html += ''; - html += '
' + Globalize.translate('OptionAutomaticallySyncNewContentHelp') + '
'; - html += '
'; - } - - if (dialogOptions.Options.indexOf('ItemLimit') != -1) { - html += '
'; - html += ''; - html += '
' + Globalize.translate('LabelItemLimitHelp') + '
'; - html += '
'; - } - - //html += '
'; - //html += '
'; - - 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 += '
'; - html += ''; - html += '
'; - html += Globalize.translate('SyncMedia'); - html += '
'; - - html += ''; - - html += '
'; - - html += '
'; - html += '
'; - - html += '
'; - - html += '
'; - - html += '

'; - html += ''; - html += '

'; - - html += '
'; - - html += '
'; - html += '
'; - - - 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 ''; - - }).join('')).trigger('change'); - - $('#selectQuality', form).html(options.QualityOptions.map(function (o) { - - var selectedAttribute = o.IsDefault ? ' selected="selected"' : ''; - return ''; - - }).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 - }; -}); \ No newline at end of file diff --git a/dashboard-ui/scripts/userprofilespage.js b/dashboard-ui/scripts/userprofilespage.js index 84a1d38ee6..ab25fb8658 100644 --- a/dashboard-ui/scripts/userprofilespage.js +++ b/dashboard-ui/scripts/userprofilespage.js @@ -135,7 +135,7 @@ // cardScalable html += "
"; - html += '
'; + html += '
'; html += '
'; html += ''; @@ -254,7 +254,7 @@ // cardScalable html += "
"; - html += '
'; + html += '
'; html += '
'; html += ''; diff --git a/dashboard-ui/strings/ar.json b/dashboard-ui/strings/ar.json index 90321ccd5c..ee4294e7ea 100644 --- a/dashboard-ui/strings/ar.json +++ b/dashboard-ui/strings/ar.json @@ -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:", diff --git a/dashboard-ui/strings/be-BY.json b/dashboard-ui/strings/be-BY.json index 1088e03829..53001a263d 100644 --- a/dashboard-ui/strings/be-BY.json +++ b/dashboard-ui/strings/be-BY.json @@ -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 Finish<\/b> to view the 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 \u0413\u0430\u0442\u043e\u0432\u0430<\/b>, \u043a\u0430\u0431 \u043f\u0440\u0430\u0433\u043b\u044f\u0434\u0437\u0435\u0446\u044c \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:", diff --git a/dashboard-ui/strings/bg-BG.json b/dashboard-ui/strings/bg-BG.json index 5c9ae92b93..49393bde5b 100644 --- a/dashboard-ui/strings/bg-BG.json +++ b/dashboard-ui/strings/bg-BG.json @@ -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:", diff --git a/dashboard-ui/strings/ca.json b/dashboard-ui/strings/ca.json index d053af6375..0482273ba4 100644 --- a/dashboard-ui/strings/ca.json +++ b/dashboard-ui/strings/ca.json @@ -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:", diff --git a/dashboard-ui/strings/cs.json b/dashboard-ui/strings/cs.json index c7e639954f..0b0e27511f 100644 --- a/dashboard-ui/strings/cs.json +++ b/dashboard-ui/strings/cs.json @@ -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", diff --git a/dashboard-ui/strings/da.json b/dashboard-ui/strings/da.json index b62489c0dd..ff662b7174 100644 --- a/dashboard-ui/strings/da.json +++ b/dashboard-ui/strings/da.json @@ -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:", diff --git a/dashboard-ui/strings/de.json b/dashboard-ui/strings/de.json index 52b934a6f4..491eea0a8e 100644 --- a/dashboard-ui/strings/de.json +++ b/dashboard-ui/strings/de.json @@ -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" } \ No newline at end of file diff --git a/dashboard-ui/strings/el.json b/dashboard-ui/strings/el.json index a1bb0a9d85..4a8e581e28 100644 --- a/dashboard-ui/strings/el.json +++ b/dashboard-ui/strings/el.json @@ -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:", diff --git a/dashboard-ui/strings/en-GB.json b/dashboard-ui/strings/en-GB.json index 0806c941d3..0279b08e87 100644 --- a/dashboard-ui/strings/en-GB.json +++ b/dashboard-ui/strings/en-GB.json @@ -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", diff --git a/dashboard-ui/strings/es-AR.json b/dashboard-ui/strings/es-AR.json index 70390b68e0..25a925b6b2 100644 --- a/dashboard-ui/strings/es-AR.json +++ b/dashboard-ui/strings/es-AR.json @@ -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:", diff --git a/dashboard-ui/strings/es-MX.json b/dashboard-ui/strings/es-MX.json index 4df4d7a209..831f97c231 100644 --- a/dashboard-ui/strings/es-MX.json +++ b/dashboard-ui/strings/es-MX.json @@ -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" } \ No newline at end of file diff --git a/dashboard-ui/strings/es.json b/dashboard-ui/strings/es.json index 15134f178e..752c2326d8 100644 --- a/dashboard-ui/strings/es.json +++ b/dashboard-ui/strings/es.json @@ -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", diff --git a/dashboard-ui/strings/fi.json b/dashboard-ui/strings/fi.json index 20e71edda3..db24d933b7 100644 --- a/dashboard-ui/strings/fi.json +++ b/dashboard-ui/strings/fi.json @@ -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:", diff --git a/dashboard-ui/strings/fr-CA.json b/dashboard-ui/strings/fr-CA.json index f9475a8e40..2f6100df08 100644 --- a/dashboard-ui/strings/fr-CA.json +++ b/dashboard-ui/strings/fr-CA.json @@ -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:", diff --git a/dashboard-ui/strings/fr-FR.json b/dashboard-ui/strings/fr-FR.json index ddc6356d7f..a198761682 100644 --- a/dashboard-ui/strings/fr-FR.json +++ b/dashboard-ui/strings/fr-FR.json @@ -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", diff --git a/dashboard-ui/strings/fr.json b/dashboard-ui/strings/fr.json index bd38602b5e..c4597e025a 100644 --- a/dashboard-ui/strings/fr.json +++ b/dashboard-ui/strings/fr.json @@ -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", diff --git a/dashboard-ui/strings/gsw.json b/dashboard-ui/strings/gsw.json index 7d2a2223e4..ffdbb4aa24 100644 --- a/dashboard-ui/strings/gsw.json +++ b/dashboard-ui/strings/gsw.json @@ -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:", diff --git a/dashboard-ui/strings/he.json b/dashboard-ui/strings/he.json index ec34f4cabc..c5e2bdb68a 100644 --- a/dashboard-ui/strings/he.json +++ b/dashboard-ui/strings/he.json @@ -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:", diff --git a/dashboard-ui/strings/hr.json b/dashboard-ui/strings/hr.json index e400e08b6a..414e806cd5 100644 --- a/dashboard-ui/strings/hr.json +++ b/dashboard-ui/strings/hr.json @@ -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:", diff --git a/dashboard-ui/strings/hu.json b/dashboard-ui/strings/hu.json index 4a56c62657..467fd54911 100644 --- a/dashboard-ui/strings/hu.json +++ b/dashboard-ui/strings/hu.json @@ -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:", diff --git a/dashboard-ui/strings/id.json b/dashboard-ui/strings/id.json index 0445463517..409226851b 100644 --- a/dashboard-ui/strings/id.json +++ b/dashboard-ui/strings/id.json @@ -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:", diff --git a/dashboard-ui/strings/it.json b/dashboard-ui/strings/it.json index ee1fea5c85..d9baf874d5 100644 --- a/dashboard-ui/strings/it.json +++ b/dashboard-ui/strings/it.json @@ -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 Fine<\/b> per visualizzare il 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.", diff --git a/dashboard-ui/strings/kk.json b/dashboard-ui/strings/kk.json index 4bef1dbede..f669475505 100644 --- a/dashboard-ui/strings/kk.json +++ b/dashboard-ui/strings/kk.json @@ -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", diff --git a/dashboard-ui/strings/ko.json b/dashboard-ui/strings/ko.json index 9b447fe621..eb8963208c 100644 --- a/dashboard-ui/strings/ko.json +++ b/dashboard-ui/strings/ko.json @@ -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", diff --git a/dashboard-ui/strings/ms.json b/dashboard-ui/strings/ms.json index 1675eb0f39..a775b1ad6e 100644 --- a/dashboard-ui/strings/ms.json +++ b/dashboard-ui/strings/ms.json @@ -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:", diff --git a/dashboard-ui/strings/nb.json b/dashboard-ui/strings/nb.json index 0f3f13dad8..9ff3f62ab1 100644 --- a/dashboard-ui/strings/nb.json +++ b/dashboard-ui/strings/nb.json @@ -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", diff --git a/dashboard-ui/strings/nl.json b/dashboard-ui/strings/nl.json index 8e59b3ab7a..4151c950db 100644 --- a/dashboard-ui/strings/nl.json +++ b/dashboard-ui/strings/nl.json @@ -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", diff --git a/dashboard-ui/strings/pl.json b/dashboard-ui/strings/pl.json index 38da6f55f0..3131b1caf9 100644 --- a/dashboard-ui/strings/pl.json +++ b/dashboard-ui/strings/pl.json @@ -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", diff --git a/dashboard-ui/strings/pt-BR.json b/dashboard-ui/strings/pt-BR.json index 0b7c1045da..dc60e0ee40 100644 --- a/dashboard-ui/strings/pt-BR.json +++ b/dashboard-ui/strings/pt-BR.json @@ -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" } \ No newline at end of file diff --git a/dashboard-ui/strings/ro.json b/dashboard-ui/strings/ro.json index 66ae0521fe..db539bf62f 100644 --- a/dashboard-ui/strings/ro.json +++ b/dashboard-ui/strings/ro.json @@ -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:", diff --git a/dashboard-ui/strings/ru.json b/dashboard-ui/strings/ru.json index b757762d35..7b4e14f89b 100644 --- a/dashboard-ui/strings/ru.json +++ b/dashboard-ui/strings/ru.json @@ -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", diff --git a/dashboard-ui/strings/sk.json b/dashboard-ui/strings/sk.json index 9988570cf9..5921c624e9 100644 --- a/dashboard-ui/strings/sk.json +++ b/dashboard-ui/strings/sk.json @@ -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:", diff --git a/dashboard-ui/strings/sl-SI.json b/dashboard-ui/strings/sl-SI.json index 737a51c6cf..7fdb5ac473 100644 --- a/dashboard-ui/strings/sl-SI.json +++ b/dashboard-ui/strings/sl-SI.json @@ -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:", diff --git a/dashboard-ui/strings/sv.json b/dashboard-ui/strings/sv.json index b3d43051a9..e89b991f7b 100644 --- a/dashboard-ui/strings/sv.json +++ b/dashboard-ui/strings/sv.json @@ -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", diff --git a/dashboard-ui/strings/tr.json b/dashboard-ui/strings/tr.json index 0ee41952de..3e9ce28723 100644 --- a/dashboard-ui/strings/tr.json +++ b/dashboard-ui/strings/tr.json @@ -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:", diff --git a/dashboard-ui/strings/uk.json b/dashboard-ui/strings/uk.json index 6e8d899a99..6be36cd0b2 100644 --- a/dashboard-ui/strings/uk.json +++ b/dashboard-ui/strings/uk.json @@ -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:", diff --git a/dashboard-ui/strings/vi.json b/dashboard-ui/strings/vi.json index 1f2c66a2eb..8ff711ef38 100644 --- a/dashboard-ui/strings/vi.json +++ b/dashboard-ui/strings/vi.json @@ -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": "Tho\u00e1t", "LabelVisitCommunity": "Gh\u00e9 th\u0103m trang C\u1ed9ng \u0111\u1ed3ng", "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:", diff --git a/dashboard-ui/strings/zh-CN.json b/dashboard-ui/strings/zh-CN.json index bd3a896346..68d870d8c0 100644 --- a/dashboard-ui/strings/zh-CN.json +++ b/dashboard-ui/strings/zh-CN.json @@ -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": "\u9000\u51fa", "LabelVisitCommunity": "\u8bbf\u95ee\u793e\u533a", "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:", diff --git a/dashboard-ui/strings/zh-HK.json b/dashboard-ui/strings/zh-HK.json index 17cb303e43..7ce41d0d0d 100644 --- a/dashboard-ui/strings/zh-HK.json +++ b/dashboard-ui/strings/zh-HK.json @@ -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": "\u96e2\u958b", "LabelVisitCommunity": "\u8a2a\u554f\u8a0e\u8ad6\u5340", "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:", diff --git a/dashboard-ui/strings/zh-TW.json b/dashboard-ui/strings/zh-TW.json index c240d4481f..61f730d3d6 100644 --- a/dashboard-ui/strings/zh-TW.json +++ b/dashboard-ui/strings/zh-TW.json @@ -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": "\u96e2\u958b", "LabelVisitCommunity": "\u8a2a\u554f\u793e\u7fa4", "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:",