From a1af15675708e77df5bcb783afe332fa01c777d8 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Wed, 27 Jul 2016 01:19:56 -0400 Subject: [PATCH] update components --- .../emby-apiclient/.bower.json | 8 +- .../emby-apiclient/apiclient.js | 32 +- .../emby-apiclient/connectionmanager.js | 18 +- .../emby-apiclient/credentials.js | 4 +- .../emby-apiclient/serverdiscovery.js | 11 +- .../emby-apiclient/wakeonlan.js | 5 +- .../emby-webcomponents/.bower.json | 11 +- .../actionsheet/actionsheet.js | 12 +- .../emby-webcomponents/backdrop/backdrop.js | 20 +- .../emby-webcomponents/bower.json | 3 +- .../collectioneditor/collectioneditor.js | 15 +- .../dialoghelper/dialoghelper.js | 26 +- .../emby-webcomponents/globalize.js | 19 +- .../emby-webcomponents/guide/guide.js | 16 +- .../emby-webcomponents/layoutmanager.js | 2 +- .../metadataeditor/metadataeditor.js | 355 ++++++++++-------- .../metadataeditor/personeditor.js | 28 +- .../metadataeditor/strings/ar.json | 47 +++ .../metadataeditor/strings/bg-BG.json | 47 +++ .../metadataeditor/strings/ca.json | 47 +++ .../metadataeditor/strings/cs.json | 47 +++ .../metadataeditor/strings/da.json | 47 +++ .../metadataeditor/strings/de.json | 47 +++ .../metadataeditor/strings/el.json | 47 +++ .../metadataeditor/strings/en-GB.json | 47 +++ .../metadataeditor/strings/en-US.json | 47 +++ .../metadataeditor/strings/es-AR.json | 47 +++ .../metadataeditor/strings/es-MX.json | 47 +++ .../metadataeditor/strings/es.json | 47 +++ .../metadataeditor/strings/fi.json | 47 +++ .../metadataeditor/strings/fr-CA.json | 47 +++ .../metadataeditor/strings/fr-FR.json | 47 +++ .../metadataeditor/strings/fr.json | 47 +++ .../metadataeditor/strings/gsw.json | 47 +++ .../metadataeditor/strings/he.json | 47 +++ .../metadataeditor/strings/hr.json | 47 +++ .../metadataeditor/strings/hu.json | 47 +++ .../metadataeditor/strings/id.json | 47 +++ .../metadataeditor/strings/it.json | 47 +++ .../metadataeditor/strings/kk.json | 47 +++ .../metadataeditor/strings/ko.json | 47 +++ .../metadataeditor/strings/ms.json | 47 +++ .../metadataeditor/strings/nb.json | 47 +++ .../metadataeditor/strings/nl.json | 47 +++ .../metadataeditor/strings/pl.json | 47 +++ .../metadataeditor/strings/pt-BR.json | 47 +++ .../metadataeditor/strings/pt-PT.json | 47 +++ .../metadataeditor/strings/ro.json | 47 +++ .../metadataeditor/strings/ru.json | 47 +++ .../metadataeditor/strings/sk.json | 47 +++ .../metadataeditor/strings/sl-SI.json | 47 +++ .../metadataeditor/strings/sv.json | 47 +++ .../metadataeditor/strings/tr.json | 47 +++ .../metadataeditor/strings/uk.json | 47 +++ .../metadataeditor/strings/vi.json | 47 +++ .../metadataeditor/strings/zh-CN.json | 47 +++ .../metadataeditor/strings/zh-HK.json | 47 +++ .../metadataeditor/strings/zh-TW.json | 47 +++ .../playlisteditor/playlisteditor.js | 15 +- .../refreshdialog/refreshdialog.js | 15 +- .../subtitleeditor/subtitleeditor.js | 22 +- dashboard-ui/css/librarybrowser.css | 15 +- dashboard-ui/css/site.css | 11 +- dashboard-ui/devices/ios/ios.css | 2 +- dashboard-ui/index.html | 5 +- 65 files changed, 2335 insertions(+), 262 deletions(-) create mode 100644 dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/ar.json create mode 100644 dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/bg-BG.json create mode 100644 dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/ca.json create mode 100644 dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/cs.json create mode 100644 dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/da.json create mode 100644 dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/de.json create mode 100644 dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/el.json create mode 100644 dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/en-GB.json create mode 100644 dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/en-US.json create mode 100644 dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/es-AR.json create mode 100644 dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/es-MX.json create mode 100644 dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/es.json create mode 100644 dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/fi.json create mode 100644 dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/fr-CA.json create mode 100644 dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/fr-FR.json create mode 100644 dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/fr.json create mode 100644 dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/gsw.json create mode 100644 dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/he.json create mode 100644 dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/hr.json create mode 100644 dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/hu.json create mode 100644 dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/id.json create mode 100644 dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/it.json create mode 100644 dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/kk.json create mode 100644 dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/ko.json create mode 100644 dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/ms.json create mode 100644 dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/nb.json create mode 100644 dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/nl.json create mode 100644 dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/pl.json create mode 100644 dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/pt-BR.json create mode 100644 dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/pt-PT.json create mode 100644 dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/ro.json create mode 100644 dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/ru.json create mode 100644 dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/sk.json create mode 100644 dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/sl-SI.json create mode 100644 dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/sv.json create mode 100644 dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/tr.json create mode 100644 dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/uk.json create mode 100644 dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/vi.json create mode 100644 dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/zh-CN.json create mode 100644 dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/zh-HK.json create mode 100644 dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/zh-TW.json diff --git a/dashboard-ui/bower_components/emby-apiclient/.bower.json b/dashboard-ui/bower_components/emby-apiclient/.bower.json index 945ed79613..66f35802cf 100644 --- a/dashboard-ui/bower_components/emby-apiclient/.bower.json +++ b/dashboard-ui/bower_components/emby-apiclient/.bower.json @@ -16,12 +16,12 @@ }, "devDependencies": {}, "ignore": [], - "version": "1.1.65", - "_release": "1.1.65", + "version": "1.1.67", + "_release": "1.1.67", "_resolution": { "type": "version", - "tag": "1.1.65", - "commit": "7ba3ab66a503b3cf099ff63a7dc923490401c0bc" + "tag": "1.1.67", + "commit": "8ec36ba7ff5e96e562a87df7cdba7dfaa6087521" }, "_source": "https://github.com/MediaBrowser/Emby.ApiClient.Javascript.git", "_target": "^1.1.51", diff --git a/dashboard-ui/bower_components/emby-apiclient/apiclient.js b/dashboard-ui/bower_components/emby-apiclient/apiclient.js index f401f09c62..7ddcb74b80 100644 --- a/dashboard-ui/bower_components/emby-apiclient/apiclient.js +++ b/dashboard-ui/bower_components/emby-apiclient/apiclient.js @@ -1,4 +1,4 @@ -define(['events'], function (Events) { +define(['events'], function (events) { /** * Creates a new api client instance @@ -38,7 +38,7 @@ serverAddress = val; if (changed) { - Events.trigger(this, 'serveraddresschanged'); + events.trigger(this, 'serveraddresschanged'); } } @@ -52,6 +52,10 @@ return serverInfo; }; + self.serverId = function () { + return self.serverInfo().Id; + }; + var currentUser; /** * Gets or sets the current user id. @@ -74,7 +78,7 @@ }); }; - self.isLoggedIn = function() { + self.isLoggedIn = function () { var info = self.serverInfo(); if (info) { @@ -137,7 +141,7 @@ function onFetchFail(url, response) { - Events.trigger(self, 'requestfail', [ + events.trigger(self, 'requestfail', [ { url: url, status: response.status, @@ -526,7 +530,7 @@ } }; - self.ensureWebSocket = function() { + self.ensureWebSocket = function () { if (self.isWebSocketOpenOrConnecting() || !self.isWebSocketSupported()) { return; } @@ -567,15 +571,15 @@ console.log('web socket connection opened'); setTimeout(function () { - Events.trigger(self, 'websocketopen'); + events.trigger(self, 'websocketopen'); }, 0); }; webSocket.onerror = function () { - Events.trigger(self, 'websocketerror'); + events.trigger(self, 'websocketerror'); }; webSocket.onclose = function () { setTimeout(function () { - Events.trigger(self, 'websocketclose'); + events.trigger(self, 'websocketclose'); }, 0); }; }; @@ -600,7 +604,7 @@ } } - Events.trigger(self, 'websocketmessage', [msg]); + events.trigger(self, 'websocketmessage', [msg]); } self.sendWebSocketMessage = function (name, data) { @@ -2844,6 +2848,16 @@ return self.getJSON(url); }; + self.getMovieRecommendations = function (options) { + + return self.getJSON(self.getUrl('Movies/Recommendations', options)); + }; + + self.getUpcomingEpisodes = function (options) { + + return self.getJSON(self.getUrl('Shows/Upcoming', options)); + }; + self.getChannels = function (query) { return self.getJSON(self.getUrl("Channels", query || {})); diff --git a/dashboard-ui/bower_components/emby-apiclient/connectionmanager.js b/dashboard-ui/bower_components/emby-apiclient/connectionmanager.js index 68061a87cf..5fff79d11c 100644 --- a/dashboard-ui/bower_components/emby-apiclient/connectionmanager.js +++ b/dashboard-ui/bower_components/emby-apiclient/connectionmanager.js @@ -1,4 +1,4 @@ -define(['events', 'apiclient', 'appStorage'], function (Events, apiClientFactory, appStorage) { +define(['events', 'apiclient', 'appStorage'], function (events, apiClientFactory, appStorage) { var ConnectionState = { Unavailable: 0, @@ -321,7 +321,7 @@ credentialProvider.credentials(credentials); } - Events.trigger(self, 'apiclientcreated', [apiClient]); + events.trigger(self, 'apiclientcreated', [apiClient]); if (existingServer.Id) { return; @@ -353,7 +353,7 @@ function onConnectUserSignIn(user) { connectUser = user; - Events.trigger(self, 'connectusersignedin', [user]); + events.trigger(self, 'connectusersignedin', [user]); } function getOrAddApiClient(server, connectionMode) { @@ -374,7 +374,7 @@ onAuthenticated(instance, result, {}, true); }; - Events.trigger(self, 'apiclientcreated', [apiClient]); + events.trigger(self, 'apiclientcreated', [apiClient]); } console.log('returning instance from getOrAddApiClient'); @@ -462,7 +462,7 @@ // Ensure this is created so that listeners of the event can get the apiClient instance getOrAddApiClient(server, connectionMode); - Events.trigger(self, 'localusersignedin', [user]); + events.trigger(self, 'localusersignedin', [user]); } function ensureConnectUser(credentials) { @@ -729,7 +729,7 @@ if (connectUser) { connectUser = null; - Events.trigger(self, 'connectusersignedout'); + events.trigger(self, 'connectusersignedout'); } }); }; @@ -744,10 +744,10 @@ return apiClient.logout().then(function () { - Events.trigger(self, 'localusersignedout', [logoutInfo]); + events.trigger(self, 'localusersignedout', [logoutInfo]); }, function () { - Events.trigger(self, 'localusersignedout', [logoutInfo]); + events.trigger(self, 'localusersignedout', [logoutInfo]); }); } @@ -1189,7 +1189,7 @@ resolve(result); - Events.trigger(self, 'connected', [result]); + events.trigger(self, 'connected', [result]); } function replaceAll(originalString, strReplace, strWith) { diff --git a/dashboard-ui/bower_components/emby-apiclient/credentials.js b/dashboard-ui/bower_components/emby-apiclient/credentials.js index 4577f67668..35807d3a01 100644 --- a/dashboard-ui/bower_components/emby-apiclient/credentials.js +++ b/dashboard-ui/bower_components/emby-apiclient/credentials.js @@ -1,4 +1,4 @@ -define(['events', 'appStorage'], function (Events, appStorage) { +define(['events', 'appStorage'], function (events, appStorage) { return function (key) { @@ -33,7 +33,7 @@ self.clear(); } - Events.trigger(self, 'credentialsupdated'); + events.trigger(self, 'credentialsupdated'); } self.clear = function () { diff --git a/dashboard-ui/bower_components/emby-apiclient/serverdiscovery.js b/dashboard-ui/bower_components/emby-apiclient/serverdiscovery.js index ec0b3746c6..10c926a16f 100644 --- a/dashboard-ui/bower_components/emby-apiclient/serverdiscovery.js +++ b/dashboard-ui/bower_components/emby-apiclient/serverdiscovery.js @@ -4,14 +4,9 @@ findServers: function (timeoutMs) { - return new Promise(function (resolve, reject) { - - var servers = []; - - // Expected server properties - // Name, Id, Address, EndpointAddress (optional) - resolve(servers); - }); + // Expected server properties + // Name, Id, Address, EndpointAddress (optional) + return Promise.resolve([]); } }; diff --git a/dashboard-ui/bower_components/emby-apiclient/wakeonlan.js b/dashboard-ui/bower_components/emby-apiclient/wakeonlan.js index 5f6dc19ae7..7897b199e7 100644 --- a/dashboard-ui/bower_components/emby-apiclient/wakeonlan.js +++ b/dashboard-ui/bower_components/emby-apiclient/wakeonlan.js @@ -2,10 +2,7 @@ function send(info) { - return new Promise(function (resolve, reject) { - - resolve(); - }); + return Promise.resolve(); } return { diff --git a/dashboard-ui/bower_components/emby-webcomponents/.bower.json b/dashboard-ui/bower_components/emby-webcomponents/.bower.json index 8e3c73a249..62920070ea 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/.bower.json +++ b/dashboard-ui/bower_components/emby-webcomponents/.bower.json @@ -10,17 +10,16 @@ "license": "https://github.com/MediaBrowser/emby-webcomponents/blob/master/LICENSE", "homepage": "https://github.com/MediaBrowser/emby-webcomponents", "dependencies": { - "requirejs": "requirejs#^2.1.22", - "isMobile": "isMobile#^0.3.9" + "requirejs": "requirejs#^2.1.22" }, "devDependencies": {}, "ignore": [], - "version": "1.4.118", - "_release": "1.4.118", + "version": "1.4.121", + "_release": "1.4.121", "_resolution": { "type": "version", - "tag": "1.4.118", - "commit": "34f851e01d6e9c3789f75fd6dd68e794d2870d1c" + "tag": "1.4.121", + "commit": "7fb8671208dff8c2f38792e05c027a87ca562e39" }, "_source": "https://github.com/MediaBrowser/emby-webcomponents.git", "_target": "^1.2.0", diff --git a/dashboard-ui/bower_components/emby-webcomponents/actionsheet/actionsheet.js b/dashboard-ui/bower_components/emby-webcomponents/actionsheet/actionsheet.js index b58d427b0d..32389bf17a 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/actionsheet/actionsheet.js +++ b/dashboard-ui/bower_components/emby-webcomponents/actionsheet/actionsheet.js @@ -71,10 +71,10 @@ return pos; } - function addCenterFocus(dlg) { - + function centerFocus(elem, horiz, on) { require(['scrollHelper'], function (scrollHelper) { - scrollHelper.centerFocus.on(dlg.querySelector('.actionSheetScroller'), false); + var fn = on ? 'on' : 'off'; + scrollHelper.centerFocus[fn](elem, horiz); }); } @@ -191,7 +191,7 @@ dlg.innerHTML = html; if (layoutManager.tv) { - addCenterFocus(dlg); + centerFocus(dlg.querySelector('.actionSheetScroller'), false, true); } if (options.showCancel) { @@ -228,6 +228,10 @@ dlg.addEventListener('close', function () { + if (layoutManager.tv) { + centerFocus(dlg.querySelector('.actionSheetScroller'), false, false); + } + if (timeout) { clearTimeout(timeout); timeout = null; diff --git a/dashboard-ui/bower_components/emby-webcomponents/backdrop/backdrop.js b/dashboard-ui/bower_components/emby-webcomponents/backdrop/backdrop.js index b1c2161895..bc6e009374 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/backdrop/backdrop.js +++ b/dashboard-ui/bower_components/emby-webcomponents/backdrop/backdrop.js @@ -123,32 +123,32 @@ internalBackdrop(false); } - var skinContainer; - function getSkinContainer() { - if (!skinContainer) { - skinContainer = document.querySelector('.skinContainer'); + var backgroundContainer; + function getBackgroundContainer() { + if (!backgroundContainer) { + backgroundContainer = document.querySelector('.backgroundContainer'); } - return skinContainer; + return backgroundContainer; } - function setSkinContainerBackgroundEnabled() { + function setBackgroundContainerBackgroundEnabled() { if (hasInternalBackdrop || hasExternalBackdrop) { - getSkinContainer().classList.add('withBackdrop'); + getBackgroundContainer().classList.add('withBackdrop'); } else { - getSkinContainer().classList.remove('withBackdrop'); + getBackgroundContainer().classList.remove('withBackdrop'); } } var hasInternalBackdrop; function internalBackdrop(enabled) { hasInternalBackdrop = enabled; - setSkinContainerBackgroundEnabled(); + setBackgroundContainerBackgroundEnabled(); } var hasExternalBackdrop; function externalBackdrop(enabled) { hasExternalBackdrop = enabled; - setSkinContainerBackgroundEnabled(); + setBackgroundContainerBackgroundEnabled(); } function getRandom(min, max) { diff --git a/dashboard-ui/bower_components/emby-webcomponents/bower.json b/dashboard-ui/bower_components/emby-webcomponents/bower.json index 0a6c6d4d1d..b31e2944df 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/bower.json +++ b/dashboard-ui/bower_components/emby-webcomponents/bower.json @@ -10,8 +10,7 @@ "license": "https://github.com/MediaBrowser/emby-webcomponents/blob/master/LICENSE", "homepage": "https://github.com/MediaBrowser/emby-webcomponents", "dependencies": { - "requirejs": "requirejs#^2.1.22", - "isMobile": "isMobile#^0.3.9" + "requirejs": "requirejs#^2.1.22" }, "devDependencies": { diff --git a/dashboard-ui/bower_components/emby-webcomponents/collectioneditor/collectioneditor.js b/dashboard-ui/bower_components/emby-webcomponents/collectioneditor/collectioneditor.js index 1e557d723a..2e993e3932 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/collectioneditor/collectioneditor.js +++ b/dashboard-ui/bower_components/emby-webcomponents/collectioneditor/collectioneditor.js @@ -1,4 +1,4 @@ -define(['shell', 'dialogHelper', 'loading', 'layoutManager', 'connectionManager', 'scrollHelper', 'embyRouter', 'globalize', 'emby-checkbox', 'emby-input', 'paper-icon-button-light', 'emby-select', 'material-icons', 'css!./../formdialog', 'emby-button'], function (shell, dialogHelper, loading, layoutManager, connectionManager, scrollHelper, embyRouter, globalize) { +define(['shell', 'dialogHelper', 'loading', 'layoutManager', 'connectionManager', 'embyRouter', 'globalize', 'emby-checkbox', 'emby-input', 'paper-icon-button-light', 'emby-select', 'material-icons', 'css!./../formdialog', 'emby-button'], function (shell, dialogHelper, loading, layoutManager, connectionManager, embyRouter, globalize) { var currentServerId; @@ -215,6 +215,13 @@ } } + function centerFocus(elem, horiz, on) { + require(['scrollHelper'], function (scrollHelper) { + var fn = on ? 'on' : 'off'; + scrollHelper.centerFocus[fn](elem, horiz); + }); + } + function collectioneditor() { var self = this; @@ -265,11 +272,15 @@ }); if (layoutManager.tv) { - scrollHelper.centerFocus.on(dlg.querySelector('.dialogContent'), false); + centerFocus(dlg.querySelector('.dialogContent'), false, true); } return new Promise(function (resolve, reject) { + if (layoutManager.tv) { + centerFocus(dlg.querySelector('.dialogContent'), false, false); + } + dlg.addEventListener('close', resolve); dialogHelper.open(dlg); }); diff --git a/dashboard-ui/bower_components/emby-webcomponents/dialoghelper/dialoghelper.js b/dashboard-ui/bower_components/emby-webcomponents/dialoghelper/dialoghelper.js index 17cb9f02e6..a3a869f425 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/dialoghelper/dialoghelper.js +++ b/dashboard-ui/bower_components/emby-webcomponents/dialoghelper/dialoghelper.js @@ -1,4 +1,4 @@ -define(['historyManager', 'focusManager', 'browser', 'layoutManager', 'inputManager', 'scrollHelper', 'dom', 'css!./dialoghelper.css', 'scrollStyles'], function (historyManager, focusManager, browser, layoutManager, inputManager, scrollHelper, dom) { +define(['historyManager', 'focusManager', 'browser', 'layoutManager', 'inputManager', 'dom', 'css!./dialoghelper.css', 'scrollStyles'], function (historyManager, focusManager, browser, layoutManager, inputManager, dom) { var globalOnOpenCallback; @@ -15,6 +15,18 @@ return false; } + function removeCenterFocus(dlg) { + + if (layoutManager.tv) { + if (dlg.classList.contains('smoothScrollX')) { + centerFocus(dlg, true, false); + } + else if (dlg.classList.contains('smoothScrollY')) { + centerFocus(dlg, false, false); + } + } + } + function dialogHashHandler(dlg, hash, resolve) { var self = this; @@ -70,6 +82,7 @@ activeElement.focus(); if (dlg.getAttribute('data-removeonclose') == 'true') { + removeCenterFocus(dlg); dlg.parentNode.removeChild(dlg); } @@ -358,6 +371,13 @@ } } + function centerFocus(elem, horiz, on) { + require(['scrollHelper'], function (scrollHelper) { + var fn = on ? 'on' : 'off'; + scrollHelper.centerFocus[fn](elem, horiz); + }); + } + function createDialog(options) { options = options || {}; @@ -438,14 +458,14 @@ dlg.classList.add('smoothScrollX'); if (layoutManager.tv) { - scrollHelper.centerFocus.on(dlg, true); + centerFocus(dlg, true, true); } } else if (options.scrollY !== false) { dlg.classList.add('smoothScrollY'); if (layoutManager.tv) { - scrollHelper.centerFocus.on(dlg, false); + centerFocus(dlg, false, true); } } diff --git a/dashboard-ui/bower_components/emby-webcomponents/globalize.js b/dashboard-ui/bower_components/emby-webcomponents/globalize.js index 65d31bf644..fba94e96c7 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/globalize.js +++ b/dashboard-ui/bower_components/emby-webcomponents/globalize.js @@ -99,16 +99,24 @@ define(['connectionManager', 'userSettings', 'events'], function (connectionMana return translations.dictionaries[getCurrentLocale()]; } - function loadTranslations(options) { + function register(options) { allTranslations[options.name] = { - translations: options.translations, + translations: options.strings || options.translations, dictionaries: {} }; + } + + function loadStrings(options) { var locale = getCurrentLocale(); - return ensureTranslation(allTranslations[options.name], locale); + if (typeof options === 'string') { + return ensureTranslation(allTranslations[options], locale); + } else { + register(options); + return ensureTranslation(allTranslations[options.name], locale); + } } var cacheParam = new Date().getTime(); @@ -246,8 +254,9 @@ define(['connectionManager', 'userSettings', 'events'], function (connectionMana translate: translate, translateDocument: translateHtml, translateHtml: translateHtml, - loadStrings: loadTranslations, + loadStrings: loadStrings, defaultModule: defaultModule, - getCurrentLocale: getCurrentLocale + getCurrentLocale: getCurrentLocale, + register: register }; }); \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/guide/guide.js b/dashboard-ui/bower_components/emby-webcomponents/guide/guide.js index 7bf4faf346..ff6957225e 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/guide/guide.js +++ b/dashboard-ui/bower_components/emby-webcomponents/guide/guide.js @@ -1,4 +1,4 @@ -define(['require', 'browser', 'globalize', 'connectionManager', 'serverNotifications', 'loading', 'scrollHelper', 'datetime', 'focusManager', 'imageLoader', 'events', 'layoutManager', 'itemShortcuts', 'registrationservices', 'clearButtonStyle', 'css!./guide.css', 'material-icons', 'scrollStyles', 'emby-button'], function (require, browser, globalize, connectionManager, serverNotifications, loading, scrollHelper, datetime, focusManager, imageLoader, events, layoutManager, itemShortcuts, registrationServices) { +define(['require', 'browser', 'globalize', 'connectionManager', 'serverNotifications', 'loading', 'datetime', 'focusManager', 'imageLoader', 'events', 'layoutManager', 'itemShortcuts', 'registrationservices', 'clearButtonStyle', 'css!./guide.css', 'material-icons', 'scrollStyles', 'emby-button'], function (require, browser, globalize, connectionManager, serverNotifications, loading, datetime, focusManager, imageLoader, events, layoutManager, itemShortcuts, registrationServices) { function Guide(options) { @@ -37,6 +37,7 @@ events.off(serverNotifications, 'SeriesTimerCancelled', onSeriesTimerCancelled); clearCurrentTimeUpdateInterval(); + setScrollEvents(options.element, false); itemShortcuts.off(options.element); items = {}; }; @@ -669,14 +670,15 @@ }); } - function createVerticalScroller(view, pageInstance) { + function setScrollEvents(view, enabled) { if (layoutManager.tv) { - scrollHelper.centerFocus.on(view.querySelector('.smoothScrollY'), false); + require(['scrollHelper'], function (scrollHelper) { - var programGrid = view.querySelector('.programGrid'); - - scrollHelper.centerFocus.on(programGrid, true); + var fn = enabled ? 'on' : 'off'; + scrollHelper.centerFocus[fn](view.querySelector('.smoothScrollY'), false); + scrollHelper.centerFocus[fn](view.querySelector('.programGrid'), true); + }); } } @@ -835,7 +837,7 @@ context.classList.add('tvguide'); - createVerticalScroller(context, self); + setScrollEvents(context, true); itemShortcuts.on(context); events.trigger(self, 'load'); diff --git a/dashboard-ui/bower_components/emby-webcomponents/layoutmanager.js b/dashboard-ui/bower_components/emby-webcomponents/layoutmanager.js index 2776d4d389..f5ae69662a 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/layoutmanager.js +++ b/dashboard-ui/bower_components/emby-webcomponents/layoutmanager.js @@ -46,7 +46,7 @@ define(['browser', 'appSettings', 'events'], function (browser, appSettings, eve // Take a guess at initial layout. The consuming app can override if (browser.mobile) { self.setLayout('mobile', false); - } else if (browser.tv) { + } else if (browser.tv || browser.xboxOne) { self.setLayout('tv', false); } else { self.setLayout(self.undetectedAutoLayout || 'desktop', false); diff --git a/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/metadataeditor.js b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/metadataeditor.js index 50c523101e..7d939de286 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/metadataeditor.js +++ b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/metadataeditor.js @@ -1,4 +1,4 @@ -define(['itemHelper', 'layoutManager', 'scrollHelper', 'dialogHelper', 'datetime', 'loading', 'focusManager', 'connectionManager', 'globalize', 'require', 'emby-checkbox', 'emby-input', 'emby-select', 'listViewStyle', 'emby-textarea', 'emby-button', 'paper-icon-button-light', 'css!./../formdialog'], function (itemHelper, layoutManager, scrollHelper, dialogHelper, datetime, loading, focusManager, connectionManager, globalize, require) { +define(['itemHelper', 'layoutManager', 'dialogHelper', 'datetime', 'loading', 'focusManager', 'connectionManager', 'globalize', 'require', 'emby-checkbox', 'emby-input', 'emby-select', 'listViewStyle', 'emby-textarea', 'emby-button', 'paper-icon-button-light', 'css!./../formdialog'], function (itemHelper, layoutManager, dialogHelper, datetime, loading, focusManager, connectionManager, globalize, require) { var currentContext; var metadataEditorInfo; @@ -20,7 +20,7 @@ function afterContentTypeUpdated() { require(['toast'], function (toast) { - toast(globalize.translate('MessageItemSaved')); + toast(globalize.translate('metadataeditor#MessageItemSaved')); }); loading.hide(); @@ -121,93 +121,98 @@ var form = this; - var item = { - Id: currentItem.Id, - Name: form.querySelector('#txtName').value, - OriginalTitle: form.querySelector('#txtOriginalName').value, - ForcedSortName: form.querySelector('#txtSortName').value, - DisplayMediaType: form.querySelector('#txtDisplayMediaType').value, - CommunityRating: form.querySelector('#txtCommunityRating').value, - VoteCount: form.querySelector('#txtCommunityVoteCount').value, - HomePageUrl: form.querySelector('#txtHomePageUrl').value, - Budget: form.querySelector('#txtBudget').value, - Revenue: form.querySelector('#txtRevenue').value, - CriticRating: form.querySelector('#txtCriticRating').value, - CriticRatingSummary: form.querySelector('#txtCriticRatingSummary').value, - IndexNumber: form.querySelector('#txtIndexNumber').value || null, - AbsoluteEpisodeNumber: form.querySelector('#txtAbsoluteEpisodeNumber').value, - DvdEpisodeNumber: form.querySelector('#txtDvdEpisodeNumber').value, - DvdSeasonNumber: form.querySelector('#txtDvdSeasonNumber').value, - AirsBeforeSeasonNumber: form.querySelector('#txtAirsBeforeSeason').value, - AirsAfterSeasonNumber: form.querySelector('#txtAirsAfterSeason').value, - AirsBeforeEpisodeNumber: form.querySelector('#txtAirsBeforeEpisode').value, - ParentIndexNumber: form.querySelector('#txtParentIndexNumber').value || null, - DisplayOrder: form.querySelector('#selectDisplayOrder').value, - Players: form.querySelector('#txtPlayers').value, - Album: form.querySelector('#txtAlbum').value, - AlbumArtist: getAlbumArtists(form), - ArtistItems: getArtists(form), - Metascore: form.querySelector('#txtMetascore').value, - AwardSummary: form.querySelector('#txtAwardSummary').value, - Overview: form.querySelector('#txtOverview').value, - ShortOverview: form.querySelector('#txtShortOverview').value, - Status: form.querySelector('#selectStatus').value, - AirDays: getSelectedAirDays(form), - AirTime: form.querySelector('#txtAirTime').value, - Genres: editableListViewValues(form.querySelector("#listGenres")), - ProductionLocations: editableListViewValues(form.querySelector("#listCountries")), - Tags: editableListViewValues(form.querySelector("#listTags")), - Keywords: editableListViewValues(form.querySelector("#listKeywords")), - Studios: editableListViewValues(form.querySelector("#listStudios")).map(function (element) { return { Name: element }; }), + try { + var item = { + Id: currentItem.Id, + Name: form.querySelector('#txtName').value, + OriginalTitle: form.querySelector('#txtOriginalName').value, + ForcedSortName: form.querySelector('#txtSortName').value, + DisplayMediaType: form.querySelector('#txtDisplayMediaType').value, + CommunityRating: form.querySelector('#txtCommunityRating').value, + VoteCount: form.querySelector('#txtCommunityVoteCount').value, + HomePageUrl: form.querySelector('#txtHomePageUrl').value, + Budget: form.querySelector('#txtBudget').value, + Revenue: form.querySelector('#txtRevenue').value, + CriticRating: form.querySelector('#txtCriticRating').value, + CriticRatingSummary: form.querySelector('#txtCriticRatingSummary').value, + IndexNumber: form.querySelector('#txtIndexNumber').value || null, + AbsoluteEpisodeNumber: form.querySelector('#txtAbsoluteEpisodeNumber').value, + DvdEpisodeNumber: form.querySelector('#txtDvdEpisodeNumber').value, + DvdSeasonNumber: form.querySelector('#txtDvdSeasonNumber').value, + AirsBeforeSeasonNumber: form.querySelector('#txtAirsBeforeSeason').value, + AirsAfterSeasonNumber: form.querySelector('#txtAirsAfterSeason').value, + AirsBeforeEpisodeNumber: form.querySelector('#txtAirsBeforeEpisode').value, + ParentIndexNumber: form.querySelector('#txtParentIndexNumber').value || null, + DisplayOrder: form.querySelector('#selectDisplayOrder').value, + Players: form.querySelector('#txtPlayers').value, + Album: form.querySelector('#txtAlbum').value, + AlbumArtist: getAlbumArtists(form), + ArtistItems: getArtists(form), + Metascore: form.querySelector('#txtMetascore').value, + AwardSummary: form.querySelector('#txtAwardSummary').value, + Overview: form.querySelector('#txtOverview').value, + ShortOverview: form.querySelector('#txtShortOverview').value, + Status: form.querySelector('#selectStatus').value, + AirDays: getSelectedAirDays(form), + AirTime: form.querySelector('#txtAirTime').value, + Genres: editableListViewValues(form.querySelector("#listGenres")), + ProductionLocations: editableListViewValues(form.querySelector("#listCountries")), + Tags: editableListViewValues(form.querySelector("#listTags")), + Keywords: editableListViewValues(form.querySelector("#listKeywords")), + Studios: editableListViewValues(form.querySelector("#listStudios")).map(function (element) { return { Name: element }; }), - PremiereDate: getDateFromForm(form, '#txtPremiereDate', 'PremiereDate'), - DateCreated: getDateFromForm(form, '#txtDateAdded', 'DateCreated'), - EndDate: getDateFromForm(form, '#txtEndDate', 'EndDate'), - ProductionYear: form.querySelector('#txtProductionYear').value, - AspectRatio: form.querySelector('#txtOriginalAspectRatio').value, - Video3DFormat: form.querySelector('#select3dFormat').value, + PremiereDate: getDateFromForm(form, '#txtPremiereDate', 'PremiereDate'), + DateCreated: getDateFromForm(form, '#txtDateAdded', 'DateCreated'), + EndDate: getDateFromForm(form, '#txtEndDate', 'EndDate'), + ProductionYear: form.querySelector('#txtProductionYear').value, + AspectRatio: form.querySelector('#txtOriginalAspectRatio').value, + Video3DFormat: form.querySelector('#select3dFormat').value, - OfficialRating: form.querySelector('#selectOfficialRating').value, - CustomRating: form.querySelector('#selectCustomRating').value, - People: currentItem.People, - LockData: form.querySelector("#chkLockData").checked, - LockedFields: Array.prototype.filter.call(form.querySelectorAll('.selectLockedField'), function (c) { - return !c.checked; - }).map(function (c) { - return c.getAttribute('data-value'); - }) - }; + OfficialRating: form.querySelector('#selectOfficialRating').value, + CustomRating: form.querySelector('#selectCustomRating').value, + People: currentItem.People, + LockData: form.querySelector("#chkLockData").checked, + LockedFields: Array.prototype.filter.call(form.querySelectorAll('.selectLockedField'), function (c) { + return !c.checked; + }).map(function (c) { + return c.getAttribute('data-value'); + }) + }; - item.ProviderIds = Object.assign({}, currentItem.ProviderIds); + item.ProviderIds = Object.assign({}, currentItem.ProviderIds); - var idElements = form.querySelectorAll('.txtExternalId'); - Array.prototype.map.call(idElements, function (idElem) { - var providerKey = idElem.getAttribute('data-providerkey'); - item.ProviderIds[providerKey] = idElem.value; - }); + var idElements = form.querySelectorAll('.txtExternalId'); + Array.prototype.map.call(idElements, function (idElem) { + var providerKey = idElem.getAttribute('data-providerkey'); + item.ProviderIds[providerKey] = idElem.value; + }); - item.PreferredMetadataLanguage = form.querySelector('#selectLanguage').value; - item.PreferredMetadataCountryCode = form.querySelector('#selectCountry').value; + item.PreferredMetadataLanguage = form.querySelector('#selectLanguage').value; + item.PreferredMetadataCountryCode = form.querySelector('#selectCountry').value; - if (currentItem.Type == "Person") { + if (currentItem.Type == "Person") { - var placeOfBirth = form.querySelector('#txtPlaceOfBirth').value; + var placeOfBirth = form.querySelector('#txtPlaceOfBirth').value; - item.ProductionLocations = placeOfBirth ? [placeOfBirth] : []; + item.ProductionLocations = placeOfBirth ? [placeOfBirth] : []; + } + + if (currentItem.Type == "Series") { + + // 600000000 + var seriesRuntime = form.querySelector('#txtSeriesRuntime').value; + item.RunTimeTicks = seriesRuntime ? (seriesRuntime * 600000000) : null; + } + + var tagline = form.querySelector('#txtTagline').value; + item.Taglines = tagline ? [tagline] : []; + + submitUpdatedItem(form, item); + + } catch (err) { + alert(err); } - if (currentItem.Type == "Series") { - - // 600000000 - var seriesRuntime = form.querySelector('#txtSeriesRuntime').value; - item.RunTimeTicks = seriesRuntime ? (seriesRuntime * 600000000) : null; - } - - var tagline = form.querySelector('#txtTagline').value; - item.Taglines = tagline ? [tagline] : []; - - submitUpdatedItem(form, item); - e.preventDefault(); e.stopPropagation(); @@ -482,7 +487,7 @@ var buttonId = "btnOpen1" + idInfo.Key; var formatString = idInfo.UrlFormatString || ''; - var labelText = globalize.translate('LabelDynamicExternalId').replace('{0}', idInfo.Name); + var labelText = globalize.translate('metadataeditor#LabelDynamicExternalId').replace('{0}', idInfo.Name); html += '
'; html += '
'; @@ -713,14 +718,14 @@ if (item.Type == "Person") { //todo - context.querySelector('#txtProductionYear').label(globalize.translate('LabelBirthYear')); - context.querySelector("#txtPremiereDate").label(globalize.translate('LabelBirthDate')); - context.querySelector("#txtEndDate").label(globalize.translate('LabelDeathDate')); + context.querySelector('#txtProductionYear').label(globalize.translate('metadataeditor#LabelBirthYear')); + context.querySelector("#txtPremiereDate").label(globalize.translate('metadataeditor#LabelBirthDate')); + context.querySelector("#txtEndDate").label(globalize.translate('metadataeditor#LabelDeathDate')); showElement('#fldPlaceOfBirth'); } else { - context.querySelector('#txtProductionYear').label(globalize.translate('LabelYear')); - context.querySelector("#txtPremiereDate").label(globalize.translate('LabelReleaseDate')); - context.querySelector("#txtEndDate").label(globalize.translate('LabelEndDate')); + context.querySelector('#txtProductionYear').label(globalize.translate('metadataeditor#LabelYear')); + context.querySelector("#txtPremiereDate").label(globalize.translate('metadataeditor#LabelReleaseDate')); + context.querySelector("#txtEndDate").label(globalize.translate('metadataeditor#LabelEndDate')); hideElement('#fldPlaceOfBirth'); } @@ -734,13 +739,13 @@ showElement('#fldIndexNumber'); if (item.Type == "Episode") { - context.querySelector('#txtIndexNumber').label(globalize.translate('LabelEpisodeNumber')); + context.querySelector('#txtIndexNumber').label(globalize.translate('metadataeditor#LabelEpisodeNumber')); } else if (item.Type == "Season") { - context.querySelector('#txtIndexNumber').label(globalize.translate('LabelSeasonNumber')); + context.querySelector('#txtIndexNumber').label(globalize.translate('metadataeditor#LabelSeasonNumber')); } else if (item.Type == "Audio") { - context.querySelector('#txtIndexNumber').label(globalize.translate('LabelTrackNumber')); + context.querySelector('#txtIndexNumber').label(globalize.translate('metadataeditor#LabelTrackNumber')); } else { - context.querySelector('#txtIndexNumber').label(globalize.translate('LabelNumber')); + context.querySelector('#txtIndexNumber').label(globalize.translate('metadataeditor#LabelNumber')); } } else { hideElement('#fldIndexNumber'); @@ -763,7 +768,7 @@ if (item.Type == "BoxSet") { showElement('#fldDisplayOrder', context); - context.querySelector('#selectDisplayOrder').innerHTML = ''; + context.querySelector('#selectDisplayOrder').innerHTML = ''; } else { context.querySelector('#selectDisplayOrder').innerHTML = ''; hideElement('#fldDisplayOrder', context); @@ -968,8 +973,8 @@ var html = ""; html += ""; - html += ""; - html += ""; + html += ""; + html += ""; select.innerHTML = html; } @@ -1039,7 +1044,7 @@ elem.innerHTML = html; - var deleteButton = elem.querySelector('.btnDeletePerson'); + var deleteButton = elem.querySelector('.btnDeletePerson') if (deleteButton) { deleteButton.addEventListener('click', function () { @@ -1050,7 +1055,7 @@ }.bind(deleteButton)); } - var editButton = elem.querySelector('.btnEditPerson'); + var editButton = elem.querySelector('.btnEditPerson') if (editButton) { editButton.addEventListener('click', function () { @@ -1083,37 +1088,37 @@ lockedFields = lockedFields || new Array(); var metadatafields = [ - { name: globalize.translate('OptionName'), value: "Name" }, - { name: globalize.translate('OptionOverview'), value: "Overview" }, - { name: globalize.translate('OptionGenres'), value: "Genres" }, - { name: globalize.translate('OptionParentalRating'), value: "OfficialRating" }, - { name: globalize.translate('OptionPeople'), value: "Cast" } + { name: globalize.translate('metadataeditor#OptionName'), value: "Name" }, + { name: globalize.translate('metadataeditor#OptionOverview'), value: "Overview" }, + { name: globalize.translate('metadataeditor#OptionGenres'), value: "Genres" }, + { name: globalize.translate('metadataeditor#OptionParentalRating'), value: "OfficialRating" }, + { name: globalize.translate('metadataeditor#OptionPeople'), value: "Cast" } ]; if (item.Type == "Person") { - metadatafields.push({ name: globalize.translate('OptionBirthLocation'), value: "ProductionLocations" }); + metadatafields.push({ name: globalize.translate('metadataeditor#OptionBirthLocation'), value: "ProductionLocations" }); } else { - metadatafields.push({ name: globalize.translate('OptionProductionLocations'), value: "ProductionLocations" }); + metadatafields.push({ name: globalize.translate('metadataeditor#OptionProductionLocations'), value: "ProductionLocations" }); } if (item.Type == "Series") { metadatafields.push({ name: globalize.translate('OptionRuntime'), value: "Runtime" }); } - metadatafields.push({ name: globalize.translate('OptionStudios'), value: "Studios" }); - metadatafields.push({ name: globalize.translate('OptionTags'), value: "Tags" }); - metadatafields.push({ name: globalize.translate('OptionKeywords'), value: "Keywords" }); - metadatafields.push({ name: globalize.translate('OptionImages'), value: "Images" }); - metadatafields.push({ name: globalize.translate('OptionBackdrops'), value: "Backdrops" }); + metadatafields.push({ name: globalize.translate('metadataeditor#OptionStudios'), value: "Studios" }); + metadatafields.push({ name: globalize.translate('metadataeditor#OptionTags'), value: "Tags" }); + metadatafields.push({ name: globalize.translate('metadataeditor#OptionKeywords'), value: "Keywords" }); + metadatafields.push({ name: globalize.translate('metadataeditor#OptionImages'), value: "Images" }); + metadatafields.push({ name: globalize.translate('metadataeditor#OptionBackdrops'), value: "Backdrops" }); if (item.Type == "Game") { - metadatafields.push({ name: globalize.translate('OptionScreenshots'), value: "Screenshots" }); + metadatafields.push({ name: globalize.translate('metadataeditor#OptionScreenshots'), value: "Screenshots" }); } var html = ''; - html += "

" + globalize.translate('HeaderEnabledFields') + "

"; - html += "

" + globalize.translate('HeaderEnabledFieldsHelp') + "

"; + html += "

" + globalize.translate('metadataeditor#HeaderEnabledFields') + "

"; + html += "

" + globalize.translate('metadataeditor#HeaderEnabledFieldsHelp') + "

"; html += generateSliders(metadatafields, lockedFields); container.innerHTML = html; } @@ -1158,54 +1163,92 @@ }); } + function registerDictionary() { + + var baseUrl = require.toUrl('.').split('?')[0] + '/strings/'; + + var languages = ['en-US']; + + var strings = languages.map(function (i) { + return { + lang: i, + path: baseUrl + i + '.json' + }; + }); + + globalize.loadStrings({ + name: 'metadataeditor', + strings: strings + }); + } + + registerDictionary(); + + function centerFocus(elem, horiz, on) { + require(['scrollHelper'], function (scrollHelper) { + var fn = on ? 'on' : 'off'; + scrollHelper.centerFocus[fn](elem, horiz); + }); + } + + function show(itemId, serverId, resolve, reject) { + loading.show(); + + require(['text!./metadataeditor.template.html'], function (template) { + + var dialogOptions = { + removeOnClose: true, + scrollY: false + }; + + if (layoutManager.tv) { + dialogOptions.size = 'fullscreen'; + } else { + dialogOptions.size = 'medium'; + } + + var dlg = dialogHelper.createDialog(dialogOptions); + + dlg.classList.add('ui-body-b'); + dlg.classList.add('background-theme-b'); + + dlg.classList.add('formDialog'); + + var html = ''; + + html += globalize.translateDocument(template, 'metadataeditor'); + + dlg.innerHTML = html; + document.body.appendChild(dlg); + + if (layoutManager.tv) { + centerFocus(dlg.querySelector('.dialogContent'), false, true); + } + + dialogHelper.open(dlg); + + dlg.addEventListener('close', function () { + if (layoutManager.tv) { + centerFocus(dlg.querySelector('.dialogContent'), false, false); + } + + unbindItemChanged(dlg, connectionManager.getApiClient(serverId)); + resolve(); + }); + + currentContext = dlg; + + init(dlg, connectionManager.getApiClient(serverId)); + + reload(dlg, itemId, serverId); + }); + } + return { show: function (itemId, serverId) { return new Promise(function (resolve, reject) { - - loading.show(); - - require(['text!./metadataeditor.template.html'], function (template) { - - var dialogOptions = { - removeOnClose: true - }; - - if (layoutManager.tv) { - dialogOptions.size = 'fullscreen'; - } else { - dialogOptions.size = 'medium'; - } - - var dlg = dialogHelper.createDialog(dialogOptions); - - dlg.classList.add('ui-body-b'); - dlg.classList.add('background-theme-b'); - - dlg.classList.add('formDialog'); - - var html = ''; - - html += globalize.translateDocument(template); - - dlg.innerHTML = html; - document.body.appendChild(dlg); - - if (layoutManager.tv) { - scrollHelper.centerFocus.on(dlg.querySelector('.dialogContent'), false); - } - - dialogHelper.open(dlg); - - dlg.addEventListener('close', function () { - unbindItemChanged(dlg, connectionManager.getApiClient(serverId)); - resolve(); - }); - - currentContext = dlg; - - init(dlg, connectionManager.getApiClient(serverId)); - - reload(dlg, itemId, serverId); + return globalize.loadStrings('metadataeditor').then(function () { + return show(itemId, serverId, resolve, reject); }); }); }, @@ -1217,7 +1260,7 @@ require(['text!./metadataeditor.template.html'], function (template) { - elem.innerHTML = globalize.translateDocument(template); + elem.innerHTML = globalize.translateDocument(template, 'metadataeditor'); elem.querySelector('.btnCancel').classList.add('hide'); diff --git a/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/personeditor.js b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/personeditor.js index 9a0831eec8..0d6e034b70 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/personeditor.js +++ b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/personeditor.js @@ -1,4 +1,11 @@ -define(['dialogHelper', 'layoutManager', 'scrollHelper', 'globalize', 'require', 'paper-icon-button-light', 'emby-input', 'emby-select', 'css!./../formdialog'], function (dialogHelper, layoutManager, scrollHelper, globalize, require) { +define(['dialogHelper', 'layoutManager', 'globalize', 'require', 'paper-icon-button-light', 'emby-input', 'emby-select', 'css!./../formdialog'], function (dialogHelper, layoutManager, globalize, require) { + + function centerFocus(elem, horiz, on) { + require(['scrollHelper'], function (scrollHelper) { + var fn = on ? 'on' : 'off'; + scrollHelper.centerFocus[fn](elem, horiz); + }); + } function show(person) { return new Promise(function (resolve, reject) { @@ -6,7 +13,8 @@ require(['text!./personeditor.template.html'], function (template) { var dialogOptions = { - removeOnClose: true + removeOnClose: true, + scrollY: false }; if (layoutManager.tv) { @@ -25,7 +33,7 @@ var html = ''; var submitted = false; - html += globalize.translateDocument(template); + html += globalize.translateDocument(template, 'metadataeditor'); dlg.innerHTML = html; document.body.appendChild(dlg); @@ -35,13 +43,17 @@ dlg.querySelector('.txtPersonRole', dlg).value = person.Role || ''; if (layoutManager.tv) { - scrollHelper.centerFocus.on(dlg.querySelector('.dialogContent'), false); + centerFocus(dlg.querySelector('.dialogContent'), false, true); } dialogHelper.open(dlg); dlg.addEventListener('close', function () { + if (layoutManager.tv) { + centerFocus(dlg.querySelector('.dialogContent'), false, false); + } + if (submitted) { resolve(person); } else { @@ -72,6 +84,12 @@ } return { - show: show + show: function (person) { + return new Promise(function (resolve, reject) { + return globalize.loadStrings('metadataeditor').then(function () { + return show(person); + }); + }); + }, }; }); \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/ar.json b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/ar.json new file mode 100644 index 0000000000..1c8a0cbcd8 --- /dev/null +++ b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/ar.json @@ -0,0 +1,47 @@ +{ + "LabelBirthDate": "Birth date:", + "LabelReleaseDate": "Release date:", + "LabelYear": "Year:", + "LabelBirthYear": "Birth year:", + "LabelDynamicExternalId": "{0} Id:", + "LabelDeathDate": "Death date:", + "LabelEndDate": "End date:", + "LabelTrackNumber": "Track number:", + "LabelSeasonNumber": "Season number:", + "LabelEpisodeNumber": "Episode number:", + "LabelNumber": "Number:", + "LabelDiscNumber": "Disc number", + "LabelParentNumber": "Parent number", + "OptionReleaseDate": "Release Date", + "OptionContinuing": "Continuing", + "OptionEnded": "Ended", + "OptionSortName": "Sort name", + "HeaderEnabledFields": "Enabled Fields", + "HeaderEnabledFieldsHelp": "Uncheck a field to lock it and prevent it's data from being changed.", + "OptionBackdrops": "Backdrops", + "OptionImages": "Images", + "OptionRuntime": "Runtime", + "OptionKeywords": "Keywords", + "OptionTags": "Tags", + "OptionProductionLocations": "Production Locations", + "OptionStudios": "Studios", + "OptionBirthLocation": "Birth Location", + "OptionPeople": "People", + "OptionName": "Name", + "OptionParentalRating": "Parental Rating", + "MessageItemSaved": "Item saved.", + "OptionGenres": "Genres", + "OptionOverview": "Overview", + "LabelPersonRole": "Role:", + "LabelType": "Type:", + "ButtonOk": "Ok", + "OptionActor": "Actor", + "LabelPersonRoleHelp": "Role is generally only applicable to actors.", + "OptionDirector": "Director", + "OptionComposer": "Composer", + "OptionGuestStar": "Guest star", + "OptionProducer": "Producer", + "OptionWriter": "Writer", + "ButtonEdit": "Edit", + "LabelName": "Name:" +} \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/bg-BG.json b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/bg-BG.json new file mode 100644 index 0000000000..c298527c9d --- /dev/null +++ b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/bg-BG.json @@ -0,0 +1,47 @@ +{ + "LabelBirthDate": "Birth date:", + "LabelReleaseDate": "Release date:", + "LabelYear": "Year:", + "LabelBirthYear": "Birth year:", + "LabelDynamicExternalId": "{0} Id:", + "LabelDeathDate": "Death date:", + "LabelEndDate": "End date:", + "LabelTrackNumber": "Track number:", + "LabelSeasonNumber": "Season number:", + "LabelEpisodeNumber": "Episode number:", + "LabelNumber": "Number:", + "LabelDiscNumber": "Disc number", + "LabelParentNumber": "Parent number", + "OptionReleaseDate": "\u0414\u0430\u0442\u0430 \u043d\u0430 \u0438\u0437\u0434\u0430\u0432\u0430\u043d\u0435", + "OptionContinuing": "\u041f\u0440\u043e\u0434\u044a\u043b\u0436\u0430\u0432\u0430\u0449\u043e", + "OptionEnded": "\u041f\u0440\u0438\u043a\u043b\u044e\u0447\u0438\u043b\u043e", + "OptionSortName": "Sort name", + "HeaderEnabledFields": "Enabled Fields", + "HeaderEnabledFieldsHelp": "Uncheck a field to lock it and prevent it's data from being changed.", + "OptionBackdrops": "Backdrops", + "OptionImages": "Images", + "OptionRuntime": "Runtime", + "OptionKeywords": "Keywords", + "OptionTags": "Tags", + "OptionProductionLocations": "Production Locations", + "OptionStudios": "Studios", + "OptionBirthLocation": "Birth Location", + "OptionPeople": "People", + "OptionName": "Name", + "OptionParentalRating": "Parental Rating", + "MessageItemSaved": "Item saved.", + "OptionGenres": "Genres", + "OptionOverview": "Overview", + "LabelPersonRole": "Role:", + "LabelType": "Type:", + "ButtonOk": "Ok", + "OptionActor": "Actor", + "LabelPersonRoleHelp": "Role is generally only applicable to actors.", + "OptionDirector": "Director", + "OptionComposer": "Composer", + "OptionGuestStar": "Guest star", + "OptionProducer": "Producer", + "OptionWriter": "Writer", + "ButtonEdit": "\u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0430\u0439", + "LabelName": "\u0418\u043c\u0435:" +} \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/ca.json b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/ca.json new file mode 100644 index 0000000000..038e3218a3 --- /dev/null +++ b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/ca.json @@ -0,0 +1,47 @@ +{ + "LabelBirthDate": "Birth date:", + "LabelReleaseDate": "Data de publicaci\u00f3:", + "LabelYear": "Any:", + "LabelBirthYear": "Birth year:", + "LabelDynamicExternalId": "{0} Id:", + "LabelDeathDate": "Death date:", + "LabelEndDate": "End date:", + "LabelTrackNumber": "Track number:", + "LabelSeasonNumber": "Season number:", + "LabelEpisodeNumber": "Episode number:", + "LabelNumber": "Number:", + "LabelDiscNumber": "Disc number", + "LabelParentNumber": "Parent number", + "OptionReleaseDate": "Data de Publicaci\u00f3", + "OptionContinuing": "Continuant", + "OptionEnded": "Acabades", + "OptionSortName": "Nom per endre\u00e7ar:", + "HeaderEnabledFields": "Enabled Fields", + "HeaderEnabledFieldsHelp": "Uncheck a field to lock it and prevent it's data from being changed.", + "OptionBackdrops": "Backdrops", + "OptionImages": "Imatges", + "OptionRuntime": "Runtime", + "OptionKeywords": "Keywords", + "OptionTags": "Tags", + "OptionProductionLocations": "Production Locations", + "OptionStudios": "Studios", + "OptionBirthLocation": "Birth Location", + "OptionPeople": "People", + "OptionName": "Name", + "OptionParentalRating": "Valoraci\u00f3 Parental", + "MessageItemSaved": "\u00cdtem desat.", + "OptionGenres": "Genres", + "OptionOverview": "Overview", + "LabelPersonRole": "Rol:", + "LabelType": "Tipus:", + "ButtonOk": "D'acord", + "OptionActor": "Actor", + "LabelPersonRoleHelp": "Role is generally only applicable to actors.", + "OptionDirector": "Director", + "OptionComposer": "Composer", + "OptionGuestStar": "Guest star", + "OptionProducer": "Producer", + "OptionWriter": "Writer", + "ButtonEdit": "Edita", + "LabelName": "Nom:" +} \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/cs.json b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/cs.json new file mode 100644 index 0000000000..a177f82e78 --- /dev/null +++ b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/cs.json @@ -0,0 +1,47 @@ +{ + "LabelBirthDate": "Datum narozen\u00ed:", + "LabelReleaseDate": "Datum vyd\u00e1n\u00ed:", + "LabelYear": "Rok:", + "LabelBirthYear": "Rok narozen\u00ed:", + "LabelDynamicExternalId": "{0} Id:", + "LabelDeathDate": "Datum \u00famrt\u00ed:", + "LabelEndDate": "Datum ukon\u010den\u00ed:", + "LabelTrackNumber": "\u010c\u00edslo stopy:", + "LabelSeasonNumber": "Season number:", + "LabelEpisodeNumber": "Episode number:", + "LabelNumber": "\u010c\u00edslo:", + "LabelDiscNumber": "\u010c\u00edslo disku", + "LabelParentNumber": "\u010c\u00edslo p\u0159edch\u016fdce", + "OptionReleaseDate": "Datum vyd\u00e1n\u00ed", + "OptionContinuing": "Pokra\u010dov\u00e1n\u00ed", + "OptionEnded": "Ukon\u010deno", + "OptionSortName": "Set\u0159\u00eddit dle n\u00e1zvu", + "HeaderEnabledFields": "Povolen\u00e9 pole", + "HeaderEnabledFieldsHelp": "Zru\u0161te za\u0161krtnut\u00ed, abyste zabr\u00e1nily zm\u011bn\u00e1m dat.", + "OptionBackdrops": "Pozad\u00ed", + "OptionImages": "Obr\u00e1zky", + "OptionRuntime": "Runtime", + "OptionKeywords": "Kl\u00ed\u010dov\u00e1 slova", + "OptionTags": "Tagy", + "OptionProductionLocations": "M\u00edsto v\u00fdroby", + "OptionStudios": "Studios", + "OptionBirthLocation": "M\u00edsto narozen\u00ed", + "OptionPeople": "People", + "OptionName": "Name", + "OptionParentalRating": "Rodi\u010dovsk\u00e9 hodnocen\u00ed", + "MessageItemSaved": "Polo\u017eka ulo\u017eena.", + "OptionGenres": "Genres", + "OptionOverview": "Overview", + "LabelPersonRole": "Role:", + "LabelType": "Typ:", + "ButtonOk": "Ok", + "OptionActor": "Herec", + "LabelPersonRoleHelp": "Role je v obecnosti pou\u017eiteln\u00e1 pouze pro herce.", + "OptionDirector": "Re\u017eis\u00e9r", + "OptionComposer": "Skladatel", + "OptionGuestStar": "Guest star", + "OptionProducer": "Producent", + "OptionWriter": "Napsal", + "ButtonEdit": "Upravit", + "LabelName": "Jm\u00e9no:" +} \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/da.json b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/da.json new file mode 100644 index 0000000000..30d1bf7e5a --- /dev/null +++ b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/da.json @@ -0,0 +1,47 @@ +{ + "LabelBirthDate": "F\u00f8dselsdato:", + "LabelReleaseDate": "Udgivelsesdato:", + "LabelYear": "Year:", + "LabelBirthYear": "F\u00f8dsels\u00e5r:", + "LabelDynamicExternalId": "{0} Id:", + "LabelDeathDate": "D\u00f8dsdato:", + "LabelEndDate": "Slutdato:", + "LabelTrackNumber": "Spor nummer:", + "LabelSeasonNumber": "Season number:", + "LabelEpisodeNumber": "Episode number:", + "LabelNumber": "Nummer:", + "LabelDiscNumber": "Disk nummer", + "LabelParentNumber": "Parent nummer", + "OptionReleaseDate": "Udgivelsesdato", + "OptionContinuing": "Fors\u00e6ttes", + "OptionEnded": "F\u00e6rdig", + "OptionSortName": "Sorteringsnavn", + "HeaderEnabledFields": "Enabled Fields", + "HeaderEnabledFieldsHelp": "Uncheck a field to lock it and prevent it's data from being changed.", + "OptionBackdrops": "Backdrops", + "OptionImages": "Billeder", + "OptionRuntime": "Runtime", + "OptionKeywords": "N\u00f8gleord", + "OptionTags": "Tags", + "OptionProductionLocations": "Produktionslokationer", + "OptionStudios": "Studios", + "OptionBirthLocation": "F\u00f8dselssted", + "OptionPeople": "People", + "OptionName": "Name", + "OptionParentalRating": "Parental Rating", + "MessageItemSaved": "Element gemt.", + "OptionGenres": "Genres", + "OptionOverview": "Overview", + "LabelPersonRole": "Rolle:", + "LabelType": "Type:", + "ButtonOk": "Ok", + "OptionActor": "Skuespiller", + "LabelPersonRoleHelp": "Rolle g\u00e6lder generelt kun for skuespillere.", + "OptionDirector": "Instrukt\u00f8r", + "OptionComposer": "Komponist", + "OptionGuestStar": "Guest star", + "OptionProducer": "Producent", + "OptionWriter": "Forfatter", + "ButtonEdit": "Rediger", + "LabelName": "Navn:" +} \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/de.json b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/de.json new file mode 100644 index 0000000000..3202ffe0be --- /dev/null +++ b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/de.json @@ -0,0 +1,47 @@ +{ + "LabelBirthDate": "Geburtsdatum:", + "LabelReleaseDate": "Ver\u00f6ffentlichungsdatum:", + "LabelYear": "Jahr:", + "LabelBirthYear": "Geburtsjahr:", + "LabelDynamicExternalId": "{0} Id:", + "LabelDeathDate": "Todesdatum:", + "LabelEndDate": "Endzeit:", + "LabelTrackNumber": "St\u00fcck Nummer:", + "LabelSeasonNumber": "Staffelnummer:", + "LabelEpisodeNumber": "Episodennummer:", + "LabelNumber": "Nummer:", + "LabelDiscNumber": "Disc Nummer", + "LabelParentNumber": "Ursprungsnummer", + "OptionReleaseDate": "Ver\u00f6ffentlichungsdatum", + "OptionContinuing": "Fortdauernd", + "OptionEnded": "Beendent", + "OptionSortName": "Sortiername", + "HeaderEnabledFields": "Aktiviere Felder", + "HeaderEnabledFieldsHelp": "W\u00e4hlen Sie Felder ab um das \u00c4ndern von Daten zu verhindern.", + "OptionBackdrops": "Hintergr\u00fcnde", + "OptionImages": "Bilder", + "OptionRuntime": "Laufzeit", + "OptionKeywords": "Stichworte", + "OptionTags": "Tags", + "OptionProductionLocations": "Produktionsst\u00e4tten", + "OptionStudios": "Studios", + "OptionBirthLocation": "Geburtsort", + "OptionPeople": "Personen", + "OptionName": "Name", + "OptionParentalRating": "Altersfreigabe", + "MessageItemSaved": "Element gespeichert", + "OptionGenres": "Genres", + "OptionOverview": "\u00dcbersicht", + "LabelPersonRole": "Rolle:", + "LabelType": "Typ:", + "ButtonOk": "Ok", + "OptionActor": "Schauspieler", + "LabelPersonRoleHelp": "Rollen sind generell nur f\u00fcr Schauspieler verf\u00fcgbar.", + "OptionDirector": "Regisseur", + "OptionComposer": "Komponist", + "OptionGuestStar": "Gaststar", + "OptionProducer": "Produzent", + "OptionWriter": "Drehbuchautor", + "ButtonEdit": "Bearbeiten", + "LabelName": "Name:" +} \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/el.json b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/el.json new file mode 100644 index 0000000000..19b0231254 --- /dev/null +++ b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/el.json @@ -0,0 +1,47 @@ +{ + "LabelBirthDate": "Birth date:", + "LabelReleaseDate": "Release date:", + "LabelYear": "Year:", + "LabelBirthYear": "Birth year:", + "LabelDynamicExternalId": "{0} Id:", + "LabelDeathDate": "Death date:", + "LabelEndDate": "End date:", + "LabelTrackNumber": "Track number:", + "LabelSeasonNumber": "Season number:", + "LabelEpisodeNumber": "Episode number:", + "LabelNumber": "Number:", + "LabelDiscNumber": "Disc number", + "LabelParentNumber": "Parent number", + "OptionReleaseDate": "\u0397\u03bc\u03b5\u03c1\u03bf\u03bc\u03b7\u03bd\u03af\u03b1 \u03a0\u03c1\u03bf\u03b2\u03bf\u03bb\u03ae\u03c2", + "OptionContinuing": "Continuing", + "OptionEnded": "Ended", + "OptionSortName": "Sort name", + "HeaderEnabledFields": "Enabled Fields", + "HeaderEnabledFieldsHelp": "Uncheck a field to lock it and prevent it's data from being changed.", + "OptionBackdrops": "Backdrops", + "OptionImages": "Images", + "OptionRuntime": "Runtime", + "OptionKeywords": "Keywords", + "OptionTags": "Tags", + "OptionProductionLocations": "Production Locations", + "OptionStudios": "Studios", + "OptionBirthLocation": "Birth Location", + "OptionPeople": "People", + "OptionName": "Name", + "OptionParentalRating": "Parental Rating", + "MessageItemSaved": "Item saved.", + "OptionGenres": "Genres", + "OptionOverview": "Overview", + "LabelPersonRole": "Role:", + "LabelType": "Type:", + "ButtonOk": "Ok", + "OptionActor": "Actor", + "LabelPersonRoleHelp": "Role is generally only applicable to actors.", + "OptionDirector": "Director", + "OptionComposer": "Composer", + "OptionGuestStar": "Guest star", + "OptionProducer": "Producer", + "OptionWriter": "Writer", + "ButtonEdit": "Edit", + "LabelName": "\u038c\u03bd\u03bf\u03bc\u03b1:" +} \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/en-GB.json b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/en-GB.json new file mode 100644 index 0000000000..42db73ad42 --- /dev/null +++ b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/en-GB.json @@ -0,0 +1,47 @@ +{ + "LabelBirthDate": "Birth date:", + "LabelReleaseDate": "Release date:", + "LabelYear": "Year", + "LabelBirthYear": "Birth year:", + "LabelDynamicExternalId": "{0} Id:", + "LabelDeathDate": "Death date:", + "LabelEndDate": "End date:", + "LabelTrackNumber": "Track number:", + "LabelSeasonNumber": "Season number:", + "LabelEpisodeNumber": "Episode number:", + "LabelNumber": "Number:", + "LabelDiscNumber": "Disc number", + "LabelParentNumber": "Parent number", + "OptionReleaseDate": "Release Date", + "OptionContinuing": "Continuing", + "OptionEnded": "Ended", + "OptionSortName": "Sort name", + "HeaderEnabledFields": "Enabled Fields", + "HeaderEnabledFieldsHelp": "Uncheck a field to lock it and prevent it's data from being changed.", + "OptionBackdrops": "Backdrops", + "OptionImages": "Images", + "OptionRuntime": "Runtime", + "OptionKeywords": "Keywords", + "OptionTags": "Tags", + "OptionProductionLocations": "Production Locations", + "OptionStudios": "Studios", + "OptionBirthLocation": "Birth Location", + "OptionPeople": "People", + "OptionName": "Name", + "OptionParentalRating": "Parental rating", + "MessageItemSaved": "Item saved.", + "OptionGenres": "Genres", + "OptionOverview": "Overview", + "LabelPersonRole": "Role:", + "LabelType": "Type:", + "ButtonOk": "Ok", + "OptionActor": "Actor", + "LabelPersonRoleHelp": "Role is generally only applicable to actors.", + "OptionDirector": "Director", + "OptionComposer": "Composer", + "OptionGuestStar": "Guest star", + "OptionProducer": "Producer", + "OptionWriter": "Writer", + "ButtonEdit": "Edit", + "LabelName": "Name:" +} \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/en-US.json b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/en-US.json new file mode 100644 index 0000000000..49d4eefcf2 --- /dev/null +++ b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/en-US.json @@ -0,0 +1,47 @@ +{ + "LabelDynamicExternalId": "{0} Id:", + "LabelBirthYear": "Birth year:", + "LabelBirthDate": "Birth date:", + "LabelDeathDate": "Death date:", + "LabelYear": "Year:", + "LabelReleaseDate": "Release date:", + "LabelEndDate": "End date:", + "LabelSeasonNumber": "Season number:", + "LabelEpisodeNumber": "Episode number:", + "LabelTrackNumber": "Track number:", + "LabelNumber": "Number:", + "LabelDiscNumber": "Disc number", + "LabelParentNumber": "Parent number", + "OptionSortName": "Sort name", + "OptionReleaseDate": "Release Date", + "OptionContinuing": "Continuing", + "OptionEnded": "Ended", + "HeaderEnabledFields": "Enabled Fields", + "HeaderEnabledFieldsHelp": "Uncheck a field to lock it and prevent it's data from being changed.", + "OptionBackdrops": "Backdrops", + "OptionImages": "Images", + "OptionKeywords": "Keywords", + "OptionTags": "Tags", + "OptionStudios": "Studios", + "OptionRuntime": "Runtime", + "OptionProductionLocations": "Production Locations", + "OptionBirthLocation": "Birth Location", + "OptionPeople": "People", + "OptionParentalRating": "Parental Rating", + "OptionName": "Name", + "OptionOverview": "Overview", + "OptionGenres": "Genres", + "LabelType": "Type:", + "LabelPersonRole": "Role:", + "LabelPersonRoleHelp": "Role is generally only applicable to actors.", + "ButtonOk": "Ok", + "OptionActor": "Actor", + "OptionComposer": "Composer", + "OptionDirector": "Director", + "OptionGuestStar": "Guest star", + "OptionProducer": "Producer", + "OptionWriter": "Writer", + "LabelName": "Name:", + "ButtonEdit": "Edit", + "MessageItemSaved": "Item saved." +} \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/es-AR.json b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/es-AR.json new file mode 100644 index 0000000000..f559f8faf6 --- /dev/null +++ b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/es-AR.json @@ -0,0 +1,47 @@ +{ + "LabelBirthDate": "Birth date:", + "LabelReleaseDate": "Release date:", + "LabelYear": "Year:", + "LabelBirthYear": "Birth year:", + "LabelDynamicExternalId": "{0} Id:", + "LabelDeathDate": "Death date:", + "LabelEndDate": "End date:", + "LabelTrackNumber": "Track number:", + "LabelSeasonNumber": "Season number:", + "LabelEpisodeNumber": "Episode number:", + "LabelNumber": "Number:", + "LabelDiscNumber": "Disc number", + "LabelParentNumber": "Parent number", + "OptionReleaseDate": "Release Date", + "OptionContinuing": "Continuing", + "OptionEnded": "Ended", + "OptionSortName": "Sort name", + "HeaderEnabledFields": "Enabled Fields", + "HeaderEnabledFieldsHelp": "Uncheck a field to lock it and prevent it's data from being changed.", + "OptionBackdrops": "Backdrops", + "OptionImages": "Images", + "OptionRuntime": "Runtime", + "OptionKeywords": "Palabras clave", + "OptionTags": "Tags", + "OptionProductionLocations": "Production Locations", + "OptionStudios": "Studios", + "OptionBirthLocation": "Lugar de nacimiento", + "OptionPeople": "People", + "OptionName": "Name", + "OptionParentalRating": "Parental Rating", + "MessageItemSaved": "Item saved.", + "OptionGenres": "Genres", + "OptionOverview": "Overview", + "LabelPersonRole": "Role:", + "LabelType": "Type:", + "ButtonOk": "Ok", + "OptionActor": "Actor", + "LabelPersonRoleHelp": "Role is generally only applicable to actors.", + "OptionDirector": "Director", + "OptionComposer": "Composer", + "OptionGuestStar": "Guest star", + "OptionProducer": "Producer", + "OptionWriter": "Writer", + "ButtonEdit": "Edit", + "LabelName": "Name:" +} \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/es-MX.json b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/es-MX.json new file mode 100644 index 0000000000..31241f3bdb --- /dev/null +++ b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/es-MX.json @@ -0,0 +1,47 @@ +{ + "LabelBirthDate": "Fecha de Nacimiento:", + "LabelReleaseDate": "Fecha de estreno:", + "LabelYear": "A\u00f1o:", + "LabelBirthYear": "A\u00f1o de nacimiento:", + "LabelDynamicExternalId": "{0} Id:", + "LabelDeathDate": "Fecha de defunci\u00f3n:", + "LabelEndDate": "Fecha de Fin:", + "LabelTrackNumber": "N\u00famero de Pista:", + "LabelSeasonNumber": "Temporada numero:", + "LabelEpisodeNumber": "Episodio numero:", + "LabelNumber": "N\u00famero:", + "LabelDiscNumber": "N\u00famero de disco", + "LabelParentNumber": "N\u00famero antecesor", + "OptionReleaseDate": "Fecha de Liberaci\u00f3n", + "OptionContinuing": "Continuando", + "OptionEnded": "Finalizado", + "OptionSortName": "Nombre para ordenar", + "HeaderEnabledFields": "Campos Habilitados", + "HeaderEnabledFieldsHelp": "Desmarcar un campo para bloquearlo y prevenir que sus datos cambien.", + "OptionBackdrops": "Im\u00e1genes de fondo", + "OptionImages": "Im\u00e1genes", + "OptionRuntime": "Duraci\u00f3n", + "OptionKeywords": "Palabras clave", + "OptionTags": "Etiquetas", + "OptionProductionLocations": "Lugares de Producci\u00f3n", + "OptionStudios": "Estudios", + "OptionBirthLocation": "Lugar de Nacimiento", + "OptionPeople": "Personas", + "OptionName": "Nombre", + "OptionParentalRating": "Clasificaci\u00f3n Parental", + "MessageItemSaved": "\u00cdtem guardado.", + "OptionGenres": "G\u00e9neros", + "OptionOverview": "Sinopsis", + "LabelPersonRole": "Rol:", + "LabelType": "Tipo:", + "ButtonOk": "Ok", + "OptionActor": "Actor", + "LabelPersonRoleHelp": "El Rol generalmente solo aplica a actores.", + "OptionDirector": "Director", + "OptionComposer": "Compositor", + "OptionGuestStar": "Estrella invitada", + "OptionProducer": "Productor", + "OptionWriter": "Escritor", + "ButtonEdit": "Editar", + "LabelName": "Nombre:" +} \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/es.json b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/es.json new file mode 100644 index 0000000000..e69cac1640 --- /dev/null +++ b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/es.json @@ -0,0 +1,47 @@ +{ + "LabelBirthDate": "Fecha de nacimiento:", + "LabelReleaseDate": "Fecha de lanzamiento:", + "LabelYear": "Year:", + "LabelBirthYear": "A\u00f1o de nacimiento:", + "LabelDynamicExternalId": "{0} id:", + "LabelDeathDate": "Fecha de muerte:", + "LabelEndDate": "Fecha de fin:", + "LabelTrackNumber": "N\u00famero de pista:", + "LabelSeasonNumber": "Temporada n\u00famero:", + "LabelEpisodeNumber": "Episodio n\u00famero:", + "LabelNumber": "N\u00famero:", + "LabelDiscNumber": "N\u00famero de disco", + "LabelParentNumber": "N\u00famero de los padres", + "OptionReleaseDate": "Fecha de Lanzamiento", + "OptionContinuing": "Continuando", + "OptionEnded": "Finalizado", + "OptionSortName": "Ordenar por nombre", + "HeaderEnabledFields": "Campos activados", + "HeaderEnabledFieldsHelp": "Desmarca un campo para bloquearlo y evitar que se cambie su contenido.", + "OptionBackdrops": "Im\u00e1genes de fondo", + "OptionImages": "Im\u00e1genes", + "OptionRuntime": "Runtime", + "OptionKeywords": "Palabras clave", + "OptionTags": "Etiquetas", + "OptionProductionLocations": "Localizaciones de producci\u00f3n", + "OptionStudios": "Studios", + "OptionBirthLocation": "Lugar de nacimiento", + "OptionPeople": "People", + "OptionName": "Name", + "OptionParentalRating": "Parental Rating", + "MessageItemSaved": "Elemento grabado.", + "OptionGenres": "Genres", + "OptionOverview": "Overview", + "LabelPersonRole": "Rol:", + "LabelType": "Tipo:", + "ButtonOk": "Ok", + "OptionActor": "Actor", + "LabelPersonRoleHelp": "Los roles son por lo general aplicados s\u00f3lo a los actores. ", + "OptionDirector": "Director", + "OptionComposer": "Compositor", + "OptionGuestStar": "Guest star", + "OptionProducer": "Productor", + "OptionWriter": "Escritor", + "ButtonEdit": "Editar", + "LabelName": "Nombre:" +} \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/fi.json b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/fi.json new file mode 100644 index 0000000000..1c8a0cbcd8 --- /dev/null +++ b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/fi.json @@ -0,0 +1,47 @@ +{ + "LabelBirthDate": "Birth date:", + "LabelReleaseDate": "Release date:", + "LabelYear": "Year:", + "LabelBirthYear": "Birth year:", + "LabelDynamicExternalId": "{0} Id:", + "LabelDeathDate": "Death date:", + "LabelEndDate": "End date:", + "LabelTrackNumber": "Track number:", + "LabelSeasonNumber": "Season number:", + "LabelEpisodeNumber": "Episode number:", + "LabelNumber": "Number:", + "LabelDiscNumber": "Disc number", + "LabelParentNumber": "Parent number", + "OptionReleaseDate": "Release Date", + "OptionContinuing": "Continuing", + "OptionEnded": "Ended", + "OptionSortName": "Sort name", + "HeaderEnabledFields": "Enabled Fields", + "HeaderEnabledFieldsHelp": "Uncheck a field to lock it and prevent it's data from being changed.", + "OptionBackdrops": "Backdrops", + "OptionImages": "Images", + "OptionRuntime": "Runtime", + "OptionKeywords": "Keywords", + "OptionTags": "Tags", + "OptionProductionLocations": "Production Locations", + "OptionStudios": "Studios", + "OptionBirthLocation": "Birth Location", + "OptionPeople": "People", + "OptionName": "Name", + "OptionParentalRating": "Parental Rating", + "MessageItemSaved": "Item saved.", + "OptionGenres": "Genres", + "OptionOverview": "Overview", + "LabelPersonRole": "Role:", + "LabelType": "Type:", + "ButtonOk": "Ok", + "OptionActor": "Actor", + "LabelPersonRoleHelp": "Role is generally only applicable to actors.", + "OptionDirector": "Director", + "OptionComposer": "Composer", + "OptionGuestStar": "Guest star", + "OptionProducer": "Producer", + "OptionWriter": "Writer", + "ButtonEdit": "Edit", + "LabelName": "Name:" +} \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/fr-CA.json b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/fr-CA.json new file mode 100644 index 0000000000..1c8a0cbcd8 --- /dev/null +++ b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/fr-CA.json @@ -0,0 +1,47 @@ +{ + "LabelBirthDate": "Birth date:", + "LabelReleaseDate": "Release date:", + "LabelYear": "Year:", + "LabelBirthYear": "Birth year:", + "LabelDynamicExternalId": "{0} Id:", + "LabelDeathDate": "Death date:", + "LabelEndDate": "End date:", + "LabelTrackNumber": "Track number:", + "LabelSeasonNumber": "Season number:", + "LabelEpisodeNumber": "Episode number:", + "LabelNumber": "Number:", + "LabelDiscNumber": "Disc number", + "LabelParentNumber": "Parent number", + "OptionReleaseDate": "Release Date", + "OptionContinuing": "Continuing", + "OptionEnded": "Ended", + "OptionSortName": "Sort name", + "HeaderEnabledFields": "Enabled Fields", + "HeaderEnabledFieldsHelp": "Uncheck a field to lock it and prevent it's data from being changed.", + "OptionBackdrops": "Backdrops", + "OptionImages": "Images", + "OptionRuntime": "Runtime", + "OptionKeywords": "Keywords", + "OptionTags": "Tags", + "OptionProductionLocations": "Production Locations", + "OptionStudios": "Studios", + "OptionBirthLocation": "Birth Location", + "OptionPeople": "People", + "OptionName": "Name", + "OptionParentalRating": "Parental Rating", + "MessageItemSaved": "Item saved.", + "OptionGenres": "Genres", + "OptionOverview": "Overview", + "LabelPersonRole": "Role:", + "LabelType": "Type:", + "ButtonOk": "Ok", + "OptionActor": "Actor", + "LabelPersonRoleHelp": "Role is generally only applicable to actors.", + "OptionDirector": "Director", + "OptionComposer": "Composer", + "OptionGuestStar": "Guest star", + "OptionProducer": "Producer", + "OptionWriter": "Writer", + "ButtonEdit": "Edit", + "LabelName": "Name:" +} \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/fr-FR.json b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/fr-FR.json new file mode 100644 index 0000000000..327e61287e --- /dev/null +++ b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/fr-FR.json @@ -0,0 +1,47 @@ +{ + "LabelBirthDate": "Birth date:", + "LabelReleaseDate": "Release date:", + "LabelYear": "Year", + "LabelBirthYear": "Birth year:", + "LabelDynamicExternalId": "{0} Id:", + "LabelDeathDate": "Death date:", + "LabelEndDate": "End date:", + "LabelTrackNumber": "Track number:", + "LabelSeasonNumber": "Saison num\u00e9ro:", + "LabelEpisodeNumber": "Episode num\u00e9ro:", + "LabelNumber": "Number:", + "LabelDiscNumber": "Disc number", + "LabelParentNumber": "Parent number", + "OptionReleaseDate": "Date de release", + "OptionContinuing": "Continuing", + "OptionEnded": "Ended", + "OptionSortName": "Sort name", + "HeaderEnabledFields": "Enabled Fields", + "HeaderEnabledFieldsHelp": "Uncheck a field to lock it and prevent it's data from being changed.", + "OptionBackdrops": "Backdrops", + "OptionImages": "Images", + "OptionRuntime": "Runtime", + "OptionKeywords": "Keywords", + "OptionTags": "Tags", + "OptionProductionLocations": "Production Locations", + "OptionStudios": "Studios", + "OptionBirthLocation": "Birth Location", + "OptionPeople": "Personne", + "OptionName": "Name", + "OptionParentalRating": "Parental rating", + "MessageItemSaved": "Item saved.", + "OptionGenres": "Genres", + "OptionOverview": "Overview", + "LabelPersonRole": "Role:", + "LabelType": "Type:", + "ButtonOk": "Ok", + "OptionActor": "Actor", + "LabelPersonRoleHelp": "Role is generally only applicable to actors.", + "OptionDirector": "Director", + "OptionComposer": "Composer", + "OptionGuestStar": "Guest star", + "OptionProducer": "Producer", + "OptionWriter": "Writer", + "ButtonEdit": "Edit", + "LabelName": "Name:" +} \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/fr.json b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/fr.json new file mode 100644 index 0000000000..a7d5e784e4 --- /dev/null +++ b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/fr.json @@ -0,0 +1,47 @@ +{ + "LabelBirthDate": "Date de naissance :", + "LabelReleaseDate": "Date de sortie", + "LabelYear": "Ann\u00e9e :", + "LabelBirthYear": "Ann\u00e9e de naissance :", + "LabelDynamicExternalId": "{0} Id:", + "LabelDeathDate": "Date de d\u00e9c\u00e8s :", + "LabelEndDate": "Date de fin:", + "LabelTrackNumber": "Num\u00e9ro de piste:", + "LabelSeasonNumber": "Num\u00e9ro de la saison:", + "LabelEpisodeNumber": "Num\u00e9ro de l'\u00e9pisode:", + "LabelNumber": "Num\u00e9ro:", + "LabelDiscNumber": "Num\u00e9ro de disque", + "LabelParentNumber": "Num\u00e9ro parent", + "OptionReleaseDate": "Date de sortie", + "OptionContinuing": "En continuation", + "OptionEnded": "Termin\u00e9", + "OptionSortName": "Clef de tri", + "HeaderEnabledFields": "Activer les champs", + "HeaderEnabledFieldsHelp": "D\u00e9cocher un champ pour le verrouiller et emp\u00eacher ainsi ses donn\u00e9es d'\u00eatre modifi\u00e9es.", + "OptionBackdrops": "Arri\u00e8re-plans", + "OptionImages": "Images", + "OptionRuntime": "Dur\u00e9e", + "OptionKeywords": "Mots-cl\u00e9s", + "OptionTags": "Tags", + "OptionProductionLocations": "Sites de production", + "OptionStudios": "Studios", + "OptionBirthLocation": "Lieu de naissance", + "OptionPeople": "Personnes", + "OptionName": "Nom", + "OptionParentalRating": "Classification parentale", + "MessageItemSaved": "Item sauvegard\u00e9.", + "OptionGenres": "Genres", + "OptionOverview": "R\u00e9sum\u00e9", + "LabelPersonRole": "R\u00f4le:", + "LabelType": "Type :", + "ButtonOk": "OK", + "OptionActor": "Acteur(trice)", + "LabelPersonRoleHelp": "Le r\u00f4le n'est g\u00e9n\u00e9ralement applicable qu'aux acteurs.", + "OptionDirector": "R\u00e9alisateur:", + "OptionComposer": "Compositeur:", + "OptionGuestStar": "Invit\u00e9s d'honneur", + "OptionProducer": "Producteur", + "OptionWriter": "Sc\u00e9nariste", + "ButtonEdit": "Modifier", + "LabelName": "Nom" +} \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/gsw.json b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/gsw.json new file mode 100644 index 0000000000..28ef225917 --- /dev/null +++ b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/gsw.json @@ -0,0 +1,47 @@ +{ + "LabelBirthDate": "Birth date:", + "LabelReleaseDate": "Release date:", + "LabelYear": "Year:", + "LabelBirthYear": "Birth year:", + "LabelDynamicExternalId": "{0} Id:", + "LabelDeathDate": "Death date:", + "LabelEndDate": "End date:", + "LabelTrackNumber": "Track number:", + "LabelSeasonNumber": "Season number:", + "LabelEpisodeNumber": "Episode number:", + "LabelNumber": "Number:", + "LabelDiscNumber": "Disc number", + "LabelParentNumber": "Parent number", + "OptionReleaseDate": "Release Ziit:", + "OptionContinuing": "Fortlaufend", + "OptionEnded": "Beendent", + "OptionSortName": "Sort name", + "HeaderEnabledFields": "Enabled Fields", + "HeaderEnabledFieldsHelp": "Uncheck a field to lock it and prevent it's data from being changed.", + "OptionBackdrops": "Backdrops", + "OptionImages": "Images", + "OptionRuntime": "Runtime", + "OptionKeywords": "Keywords", + "OptionTags": "Tags", + "OptionProductionLocations": "Production Locations", + "OptionStudios": "Studios", + "OptionBirthLocation": "Birth Location", + "OptionPeople": "People", + "OptionName": "Name", + "OptionParentalRating": "Parental Rating", + "MessageItemSaved": "Item saved.", + "OptionGenres": "Genres", + "OptionOverview": "Overview", + "LabelPersonRole": "Role:", + "LabelType": "Type:", + "ButtonOk": "Ok", + "OptionActor": "Actor", + "LabelPersonRoleHelp": "Role is generally only applicable to actors.", + "OptionDirector": "Director", + "OptionComposer": "Composer", + "OptionGuestStar": "Guest star", + "OptionProducer": "Producer", + "OptionWriter": "Writer", + "ButtonEdit": "Edit", + "LabelName": "Name:" +} \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/he.json b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/he.json new file mode 100644 index 0000000000..5bdca251cd --- /dev/null +++ b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/he.json @@ -0,0 +1,47 @@ +{ + "LabelBirthDate": "Birth date:", + "LabelReleaseDate": "Release date:", + "LabelYear": "\u05e9\u05e0\u05d4", + "LabelBirthYear": "Birth year:", + "LabelDynamicExternalId": "{0} Id:", + "LabelDeathDate": "Death date:", + "LabelEndDate": "End date:", + "LabelTrackNumber": "Track number:", + "LabelSeasonNumber": "Season number:", + "LabelEpisodeNumber": "Episode number:", + "LabelNumber": "Number:", + "LabelDiscNumber": "Disc number", + "LabelParentNumber": "Parent number", + "OptionReleaseDate": "Release Date", + "OptionContinuing": "\u05de\u05de\u05e9\u05d9\u05da", + "OptionEnded": "\u05d4\u05e1\u05ea\u05d9\u05d9\u05dd", + "OptionSortName": "Sort name", + "HeaderEnabledFields": "Enabled Fields", + "HeaderEnabledFieldsHelp": "Uncheck a field to lock it and prevent it's data from being changed.", + "OptionBackdrops": "Backdrops", + "OptionImages": "Images", + "OptionRuntime": "Runtime", + "OptionKeywords": "Keywords", + "OptionTags": "Tags", + "OptionProductionLocations": "Production Locations", + "OptionStudios": "Studios", + "OptionBirthLocation": "Birth Location", + "OptionPeople": "People", + "OptionName": "Name", + "OptionParentalRating": "Parental Rating", + "MessageItemSaved": "Item saved.", + "OptionGenres": "Genres", + "OptionOverview": "Overview", + "LabelPersonRole": "Role:", + "LabelType": "\u05e1\u05d5\u05d2", + "ButtonOk": "Ok", + "OptionActor": "Actor", + "LabelPersonRoleHelp": "Role is generally only applicable to actors.", + "OptionDirector": "Director", + "OptionComposer": "Composer", + "OptionGuestStar": "Guest star", + "OptionProducer": "Producer", + "OptionWriter": "Writer", + "ButtonEdit": "\u05e2\u05e8\u05d5\u05da", + "LabelName": "\u05e9\u05dd:" +} \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/hr.json b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/hr.json new file mode 100644 index 0000000000..030b040b5d --- /dev/null +++ b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/hr.json @@ -0,0 +1,47 @@ +{ + "LabelBirthDate": "Birth date:", + "LabelReleaseDate": "Release date:", + "LabelYear": "Year:", + "LabelBirthYear": "Birth year:", + "LabelDynamicExternalId": "{0} Id:", + "LabelDeathDate": "Death date:", + "LabelEndDate": "End date:", + "LabelTrackNumber": "Track number:", + "LabelSeasonNumber": "Season number:", + "LabelEpisodeNumber": "Episode number:", + "LabelNumber": "Number:", + "LabelDiscNumber": "Disc number", + "LabelParentNumber": "Parent number", + "OptionReleaseDate": "Release Date", + "OptionContinuing": "Nastavlja se", + "OptionEnded": "Zavr\u0161eno", + "OptionSortName": "Sort name", + "HeaderEnabledFields": "Enabled Fields", + "HeaderEnabledFieldsHelp": "Uncheck a field to lock it and prevent it's data from being changed.", + "OptionBackdrops": "Backdrops", + "OptionImages": "Images", + "OptionRuntime": "Runtime", + "OptionKeywords": "Keywords", + "OptionTags": "Tags", + "OptionProductionLocations": "Production Locations", + "OptionStudios": "Studios", + "OptionBirthLocation": "Birth Location", + "OptionPeople": "People", + "OptionName": "Name", + "OptionParentalRating": "Parental Rating", + "MessageItemSaved": "Item saved.", + "OptionGenres": "Genres", + "OptionOverview": "Overview", + "LabelPersonRole": "Role:", + "LabelType": "Tip:", + "ButtonOk": "Ok", + "OptionActor": "Actor", + "LabelPersonRoleHelp": "Role is generally only applicable to actors.", + "OptionDirector": "Director", + "OptionComposer": "Composer", + "OptionGuestStar": "Guest star", + "OptionProducer": "Producer", + "OptionWriter": "Writer", + "ButtonEdit": "Izmjeni", + "LabelName": "Ime:" +} \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/hu.json b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/hu.json new file mode 100644 index 0000000000..872d794481 --- /dev/null +++ b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/hu.json @@ -0,0 +1,47 @@ +{ + "LabelBirthDate": "Birth date:", + "LabelReleaseDate": "Megjelen\u00e9s d\u00e1tuma:", + "LabelYear": "\u00c9v:", + "LabelBirthYear": "Sz\u00fclet\u00e9si \u00e9v:", + "LabelDynamicExternalId": "{0} Id:", + "LabelDeathDate": "Death date:", + "LabelEndDate": "End date:", + "LabelTrackNumber": "Track number:", + "LabelSeasonNumber": "\u00c9vad sz\u00e1ma:", + "LabelEpisodeNumber": "Epiz\u00f3d sz\u00e1ma:", + "LabelNumber": "Number:", + "LabelDiscNumber": "Disc number", + "LabelParentNumber": "Parent number", + "OptionReleaseDate": "Megjelen\u00e9s d\u00e1tuma", + "OptionContinuing": "Continuing", + "OptionEnded": "Ended", + "OptionSortName": "Sort name", + "HeaderEnabledFields": "Enabled Fields", + "HeaderEnabledFieldsHelp": "Uncheck a field to lock it and prevent it's data from being changed.", + "OptionBackdrops": "Backdrops", + "OptionImages": "Images", + "OptionRuntime": "Runtime", + "OptionKeywords": "Keywords", + "OptionTags": "C\u00edmk\u00e9k", + "OptionProductionLocations": "Production Locations", + "OptionStudios": "Studios", + "OptionBirthLocation": "Birth Location", + "OptionPeople": "People", + "OptionName": "Name", + "OptionParentalRating": "Korhat\u00e1r besorol\u00e1s", + "MessageItemSaved": "Item saved.", + "OptionGenres": "Genres", + "OptionOverview": "Overview", + "LabelPersonRole": "Role:", + "LabelType": "Type:", + "ButtonOk": "Ok", + "OptionActor": "Actor", + "LabelPersonRoleHelp": "Role is generally only applicable to actors.", + "OptionDirector": "Rendez\u0151", + "OptionComposer": "Composer", + "OptionGuestStar": "Guest star", + "OptionProducer": "Producer", + "OptionWriter": "\u00cdr\u00f3", + "ButtonEdit": "Szerkeszt\u00e9s", + "LabelName": "N\u00e9v:" +} \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/id.json b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/id.json new file mode 100644 index 0000000000..1c8a0cbcd8 --- /dev/null +++ b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/id.json @@ -0,0 +1,47 @@ +{ + "LabelBirthDate": "Birth date:", + "LabelReleaseDate": "Release date:", + "LabelYear": "Year:", + "LabelBirthYear": "Birth year:", + "LabelDynamicExternalId": "{0} Id:", + "LabelDeathDate": "Death date:", + "LabelEndDate": "End date:", + "LabelTrackNumber": "Track number:", + "LabelSeasonNumber": "Season number:", + "LabelEpisodeNumber": "Episode number:", + "LabelNumber": "Number:", + "LabelDiscNumber": "Disc number", + "LabelParentNumber": "Parent number", + "OptionReleaseDate": "Release Date", + "OptionContinuing": "Continuing", + "OptionEnded": "Ended", + "OptionSortName": "Sort name", + "HeaderEnabledFields": "Enabled Fields", + "HeaderEnabledFieldsHelp": "Uncheck a field to lock it and prevent it's data from being changed.", + "OptionBackdrops": "Backdrops", + "OptionImages": "Images", + "OptionRuntime": "Runtime", + "OptionKeywords": "Keywords", + "OptionTags": "Tags", + "OptionProductionLocations": "Production Locations", + "OptionStudios": "Studios", + "OptionBirthLocation": "Birth Location", + "OptionPeople": "People", + "OptionName": "Name", + "OptionParentalRating": "Parental Rating", + "MessageItemSaved": "Item saved.", + "OptionGenres": "Genres", + "OptionOverview": "Overview", + "LabelPersonRole": "Role:", + "LabelType": "Type:", + "ButtonOk": "Ok", + "OptionActor": "Actor", + "LabelPersonRoleHelp": "Role is generally only applicable to actors.", + "OptionDirector": "Director", + "OptionComposer": "Composer", + "OptionGuestStar": "Guest star", + "OptionProducer": "Producer", + "OptionWriter": "Writer", + "ButtonEdit": "Edit", + "LabelName": "Name:" +} \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/it.json b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/it.json new file mode 100644 index 0000000000..af73cebf0e --- /dev/null +++ b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/it.json @@ -0,0 +1,47 @@ +{ + "LabelBirthDate": "Data nascita:", + "LabelReleaseDate": "Data di rilascio:", + "LabelYear": "Anno:", + "LabelBirthYear": "Anno nascita:", + "LabelDynamicExternalId": "{0} Id:", + "LabelDeathDate": "Anno morte:", + "LabelEndDate": "Fine data:", + "LabelTrackNumber": "Traccia numero:", + "LabelSeasonNumber": "Season number:", + "LabelEpisodeNumber": "Episode number:", + "LabelNumber": "Numero:", + "LabelDiscNumber": "Disco numero", + "LabelParentNumber": "Numero superiore", + "OptionReleaseDate": "Data di rilascio", + "OptionContinuing": "In corso", + "OptionEnded": "Finito", + "OptionSortName": "Nome ordinato", + "HeaderEnabledFields": "campi abilitati", + "HeaderEnabledFieldsHelp": "Deselezionare un campo per bloccarlo e impedirgli di dati venga modificata.", + "OptionBackdrops": "Sfondi", + "OptionImages": "Immagini", + "OptionRuntime": "Runtime", + "OptionKeywords": "Parole", + "OptionTags": "Tags", + "OptionProductionLocations": "Sedi di produzione", + "OptionStudios": "Studios", + "OptionBirthLocation": "Nascita Posizione", + "OptionPeople": "People", + "OptionName": "Name", + "OptionParentalRating": "Valutazione parentale", + "MessageItemSaved": "Elemento salvato.", + "OptionGenres": "Genres", + "OptionOverview": "Overview", + "LabelPersonRole": "Ruolo:", + "LabelType": "Tipo:", + "ButtonOk": "Ok", + "OptionActor": "Attore", + "LabelPersonRoleHelp": "Ruolo \u00e8 generalmente applicabile solo agli attori.", + "OptionDirector": "Regista", + "OptionComposer": "Compositore", + "OptionGuestStar": "Guest star", + "OptionProducer": "Produttore", + "OptionWriter": "Scrittore", + "ButtonEdit": "Modifica", + "LabelName": "Nome:" +} \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/kk.json b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/kk.json new file mode 100644 index 0000000000..5ad37b635c --- /dev/null +++ b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/kk.json @@ -0,0 +1,47 @@ +{ + "LabelBirthDate": "\u0422\u0443\u0493\u0430\u043d \u043a\u04af\u043d\u0456:", + "LabelReleaseDate": "\u0428\u044b\u0493\u0430\u0440\u0443 \u043a\u04af\u043d\u0456:", + "LabelYear": "\u0416\u044b\u043b:", + "LabelBirthYear": "\u0422\u0443\u0493\u0430\u043d \u0436\u044b\u043b\u044b:", + "LabelDynamicExternalId": "{0} Id:", + "LabelDeathDate": "\u04e8\u043b\u0433\u0435\u043d \u043a\u04af\u043d\u0456:", + "LabelEndDate": "\u0410\u044f\u049b\u0442\u0430\u043b\u0443 \u043a\u04af\u043d\u0456:", + "LabelTrackNumber": "\u0416\u043e\u043b\u0448\u044b\u049b \u043d\u04e9\u043c\u0456\u0440\u0456:", + "LabelSeasonNumber": "\u041c\u0430\u0443\u0441\u044b\u043c \u043d\u04e9\u043c\u0456\u0440\u0456:", + "LabelEpisodeNumber": "\u0411\u04e9\u043b\u0456\u043c \u043d\u04e9\u043c\u0456\u0440\u0456:", + "LabelNumber": "\u041d\u04e9\u043c\u0456\u0440\u0456:", + "LabelDiscNumber": "\u0414\u0438\u0441\u043a\u0456 \u043d\u04e9\u043c\u0456\u0440\u0456", + "LabelParentNumber": "\u0422\u0435\u043a\u0442\u0456\u043a \u043d\u04e9\u043c\u0456\u0440:", + "OptionReleaseDate": "\u0428\u044b\u0493\u0430\u0440\u0443 \u043a\u04af\u043d\u0456", + "OptionContinuing": "\u0416\u0430\u043b\u0493\u0430\u0441\u0443\u0434\u0430", + "OptionEnded": "\u0410\u044f\u049b\u0442\u0430\u043b\u0434\u044b", + "OptionSortName": "\u0421\u04b1\u0440\u044b\u043f\u0442\u0430\u043b\u0430\u0442\u044b\u043d \u0430\u0442\u044b", + "HeaderEnabledFields": "\u049a\u043e\u0441\u044b\u043b\u0493\u0430\u043d \u04e9\u0440\u0456\u0441\u0442\u0435\u0440", + "HeaderEnabledFieldsHelp": "\u049a\u04b1\u0440\u0441\u0430\u0443\u043b\u0430\u0443 \u04af\u0448\u0456\u043d \u0436\u04d9\u043d\u0435 \u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440 \u04e9\u0437\u0433\u0435\u0440\u0442\u0443\u0456\u043d\u0435 \u0442\u044b\u0439\u044b\u043c \u0441\u0430\u043b\u0443 \u04af\u0448\u0456\u043d, \u04e9\u0440\u0456\u0441\u0442\u0435\u043d \u049b\u04b1\u0441\u0431\u0435\u043b\u0433\u0456\u043d\u0456 \u0430\u043b\u044b\u04a3\u044b\u0437.", + "OptionBackdrops": "\u0410\u0440\u0442\u049b\u044b \u0441\u0443\u0440\u0435\u0442\u0442\u0435\u0440", + "OptionImages": "\u0421\u0443\u0440\u0435\u0442\u0442\u0435\u0440", + "OptionRuntime": "\u04b0\u0437\u0430\u049b\u0442\u044b\u0493\u044b", + "OptionKeywords": "\u041a\u0456\u043b\u0442 \u0441\u04e9\u0437\u0434\u0435\u0440", + "OptionTags": "\u0422\u0435\u0433\u0442\u0435\u0440", + "OptionProductionLocations": "\u04e8\u043d\u0434\u0456\u0440\u0443 \u043e\u0440\u044b\u043d\u0434\u0430\u0440\u044b", + "OptionStudios": "\u0421\u0442\u0443\u0434\u0438\u044f\u043b\u0430\u0440", + "OptionBirthLocation": "\u0422\u0443\u0493\u0430\u043d \u043e\u0440\u043d\u044b", + "OptionPeople": "\u0410\u0434\u0430\u043c\u0434\u0430\u0440", + "OptionName": "\u0410\u0442\u044b", + "OptionParentalRating": "\u0416\u0430\u0441\u0442\u0430\u0441 \u0441\u0430\u043d\u0430\u0442\u044b", + "MessageItemSaved": "\u0422\u0430\u0440\u043c\u0430\u049b \u0441\u0430\u049b\u0442\u0430\u043b\u0434\u044b.", + "OptionGenres": "\u0416\u0430\u043d\u0440\u043b\u0430\u0440", + "OptionOverview": "\u0416\u0430\u043b\u043f\u044b \u0448\u043e\u043b\u0443", + "LabelPersonRole": "\u0420\u04e9\u043b\u0456:", + "LabelType": "\u0422\u04af\u0440\u0456:", + "ButtonOk": "\u0416\u0430\u0440\u0430\u0439\u0434\u044b", + "OptionActor": "\u0410\u043a\u0442\u0435\u0440", + "LabelPersonRoleHelp": "\u0420\u04e9\u043b, \u0436\u0430\u043b\u043f\u044b \u0430\u043b\u0493\u0430\u043d\u0434\u0430, \u0442\u0435\u043a \u049b\u0430\u043d\u0430 \u0430\u043a\u0442\u0435\u0440\u043b\u0435\u0440\u0433\u0435 \u049b\u043e\u043b\u0430\u0439\u043b\u044b.", + "OptionDirector": "\u0420\u0435\u0436\u0438\u0441\u0441\u0435\u0440", + "OptionComposer": "\u041a\u043e\u043c\u043f\u043e\u0437\u0438\u0442\u043e\u0440", + "OptionGuestStar": "\u0428\u0430\u049b\u044b\u0440\u044b\u043b\u0493\u0430\u043d \u0430\u043a\u0442\u0435\u0440", + "OptionProducer": "\u041f\u0440\u043e\u0434\u044e\u0441\u0435\u0440", + "OptionWriter": "\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439\u0448\u0456", + "ButtonEdit": "\u04e8\u04a3\u0434\u0435\u0443", + "LabelName": "\u0410\u0442\u044b:" +} \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/ko.json b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/ko.json new file mode 100644 index 0000000000..894e94935b --- /dev/null +++ b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/ko.json @@ -0,0 +1,47 @@ +{ + "LabelBirthDate": "\uc0dd\uc77c:", + "LabelReleaseDate": "\uac1c\ubd09\uc77c:", + "LabelYear": "Year:", + "LabelBirthYear": "\uc0dd\ub144:", + "LabelDynamicExternalId": "{0} Id:", + "LabelDeathDate": "\uc0ac\ub9dd\uc77c:", + "LabelEndDate": "End date:", + "LabelTrackNumber": "\ud2b8\ub799 \ubc88\ud638:", + "LabelSeasonNumber": "Season number:", + "LabelEpisodeNumber": "Episode number:", + "LabelNumber": "\ubc88\ud638:", + "LabelDiscNumber": "\ub514\uc2a4\ud06c \ubc88\ud638", + "LabelParentNumber": "Parent number", + "OptionReleaseDate": "\uac1c\ubd09\uc77c", + "OptionContinuing": "Continuing", + "OptionEnded": "Ended", + "OptionSortName": "\uc815\ub82c \uc81c\ubaa9", + "HeaderEnabledFields": "Enabled Fields", + "HeaderEnabledFieldsHelp": "Uncheck a field to lock it and prevent it's data from being changed.", + "OptionBackdrops": "\ubc30\uacbd", + "OptionImages": "\uc774\ubbf8\uc9c0", + "OptionRuntime": "Runtime", + "OptionKeywords": "\ud0a4\uc6cc\ub4dc", + "OptionTags": "\ud0dc\uadf8", + "OptionProductionLocations": "Production Locations", + "OptionStudios": "Studios", + "OptionBirthLocation": "\ucd9c\uc0dd\uc9c0", + "OptionPeople": "People", + "OptionName": "Name", + "OptionParentalRating": "Parental Rating", + "MessageItemSaved": "\ud56d\ubaa9\uc774 \uc800\uc7a5\ub418\uc5c8\uc2b5\ub2c8\ub2e4.", + "OptionGenres": "Genres", + "OptionOverview": "Overview", + "LabelPersonRole": "Role:", + "LabelType": "Type:", + "ButtonOk": "OK", + "OptionActor": "\ubc30\uc6b0", + "LabelPersonRoleHelp": "Role is generally only applicable to actors.", + "OptionDirector": "\uac10\ub3c5", + "OptionComposer": "\uc791\uace1\uac00", + "OptionGuestStar": "Guest star", + "OptionProducer": "\ud504\ub85c\ub4c0\uc11c", + "OptionWriter": "\uc791\uac00", + "ButtonEdit": "\ud3b8\uc9d1", + "LabelName": "Name:" +} \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/ms.json b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/ms.json new file mode 100644 index 0000000000..1c8a0cbcd8 --- /dev/null +++ b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/ms.json @@ -0,0 +1,47 @@ +{ + "LabelBirthDate": "Birth date:", + "LabelReleaseDate": "Release date:", + "LabelYear": "Year:", + "LabelBirthYear": "Birth year:", + "LabelDynamicExternalId": "{0} Id:", + "LabelDeathDate": "Death date:", + "LabelEndDate": "End date:", + "LabelTrackNumber": "Track number:", + "LabelSeasonNumber": "Season number:", + "LabelEpisodeNumber": "Episode number:", + "LabelNumber": "Number:", + "LabelDiscNumber": "Disc number", + "LabelParentNumber": "Parent number", + "OptionReleaseDate": "Release Date", + "OptionContinuing": "Continuing", + "OptionEnded": "Ended", + "OptionSortName": "Sort name", + "HeaderEnabledFields": "Enabled Fields", + "HeaderEnabledFieldsHelp": "Uncheck a field to lock it and prevent it's data from being changed.", + "OptionBackdrops": "Backdrops", + "OptionImages": "Images", + "OptionRuntime": "Runtime", + "OptionKeywords": "Keywords", + "OptionTags": "Tags", + "OptionProductionLocations": "Production Locations", + "OptionStudios": "Studios", + "OptionBirthLocation": "Birth Location", + "OptionPeople": "People", + "OptionName": "Name", + "OptionParentalRating": "Parental Rating", + "MessageItemSaved": "Item saved.", + "OptionGenres": "Genres", + "OptionOverview": "Overview", + "LabelPersonRole": "Role:", + "LabelType": "Type:", + "ButtonOk": "Ok", + "OptionActor": "Actor", + "LabelPersonRoleHelp": "Role is generally only applicable to actors.", + "OptionDirector": "Director", + "OptionComposer": "Composer", + "OptionGuestStar": "Guest star", + "OptionProducer": "Producer", + "OptionWriter": "Writer", + "ButtonEdit": "Edit", + "LabelName": "Name:" +} \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/nb.json b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/nb.json new file mode 100644 index 0000000000..9e1259bf1d --- /dev/null +++ b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/nb.json @@ -0,0 +1,47 @@ +{ + "LabelBirthDate": "F\u00f8dselsdato:", + "LabelReleaseDate": "Utgivelsesdato:", + "LabelYear": "Year:", + "LabelBirthYear": "F\u00f8dsels\u00e5r:", + "LabelDynamicExternalId": "{0} Id:", + "LabelDeathDate": "D\u00f8dsdato:", + "LabelEndDate": "Slutt dato:", + "LabelTrackNumber": "Spor nummer:", + "LabelSeasonNumber": "Sesong nummer:", + "LabelEpisodeNumber": "Episode nummer:", + "LabelNumber": "Nummer:", + "LabelDiscNumber": "Disk nummer", + "LabelParentNumber": "Forelder-ID", + "OptionReleaseDate": "Uttgitt dato", + "OptionContinuing": "Fortsetter", + "OptionEnded": "Avsluttet", + "OptionSortName": "Sorterings navn", + "HeaderEnabledFields": "Aktiverte felt", + "HeaderEnabledFieldsHelp": "Fjern merket et felt for \u00e5 l\u00e5se den og hindre sine data blir endret.", + "OptionBackdrops": "Backdrops", + "OptionImages": "Bilder", + "OptionRuntime": "Spilletid", + "OptionKeywords": "N\u00f8kkelord", + "OptionTags": "Tagger", + "OptionProductionLocations": "Produksjonsplass", + "OptionStudios": "Studioer", + "OptionBirthLocation": "F\u00f8dested", + "OptionPeople": "Mennesker", + "OptionName": "Navn", + "OptionParentalRating": "Parental Rating", + "MessageItemSaved": "Element lagret.", + "OptionGenres": "Sjanger", + "OptionOverview": "Oversikt", + "LabelPersonRole": "Rolle:", + "LabelType": "Type:", + "ButtonOk": "Ok", + "OptionActor": "Skuespiller", + "LabelPersonRoleHelp": "Rolle er vanligvis kun tilgjengelig for skuespillere.", + "OptionDirector": "Regiss\u00f8r", + "OptionComposer": "Komponist", + "OptionGuestStar": "Gjeste skuespiller", + "OptionProducer": "Produsent", + "OptionWriter": "Manus", + "ButtonEdit": "Rediger", + "LabelName": "Navn" +} \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/nl.json b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/nl.json new file mode 100644 index 0000000000..2aa078abdc --- /dev/null +++ b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/nl.json @@ -0,0 +1,47 @@ +{ + "LabelBirthDate": "Geboortedatum:", + "LabelReleaseDate": "Uitgave datum:", + "LabelYear": "Jaar:", + "LabelBirthYear": "Geboorte jaar:", + "LabelDynamicExternalId": "{0} Id:", + "LabelDeathDate": "Overlijdens datum:", + "LabelEndDate": "Eind datum|", + "LabelTrackNumber": "Tracknummer:", + "LabelSeasonNumber": "Seizoensnummer:", + "LabelEpisodeNumber": "Afleveringsnummer:", + "LabelNumber": "Nummer:", + "LabelDiscNumber": "Disc nummer", + "LabelParentNumber": "Bovenliggend nummer", + "OptionReleaseDate": "Uitgave datum", + "OptionContinuing": "Wordt vervolgd...", + "OptionEnded": "Gestopt", + "OptionSortName": "Sorteerbaar", + "HeaderEnabledFields": "Schakel velden in", + "HeaderEnabledFieldsHelp": "Schakel een veld uit om dit te blokkeren van wijzigingen.", + "OptionBackdrops": "Achtergronden", + "OptionImages": "Afbeeldingen", + "OptionRuntime": "Speelduur", + "OptionKeywords": "Trefwoorden", + "OptionTags": "Labels", + "OptionProductionLocations": "Productie Locaties", + "OptionStudios": "Studio's", + "OptionBirthLocation": "Geboorte Locatie", + "OptionPeople": "Personen", + "OptionName": "Naam", + "OptionParentalRating": "Kijkwijzer classificatie", + "MessageItemSaved": "Item opgeslagen.", + "OptionGenres": "Genres", + "OptionOverview": "Overzicht", + "LabelPersonRole": "Rol:", + "LabelType": "Type:", + "ButtonOk": "Ok", + "OptionActor": "Acteur", + "LabelPersonRoleHelp": "Rol is alleen van toepassing op acteurs.", + "OptionDirector": "Regiseur", + "OptionComposer": "Componist", + "OptionGuestStar": "Gast ster", + "OptionProducer": "Producent", + "OptionWriter": "Schrijver", + "ButtonEdit": "Bewerken", + "LabelName": "Naam:" +} \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/pl.json b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/pl.json new file mode 100644 index 0000000000..1069ec8a91 --- /dev/null +++ b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/pl.json @@ -0,0 +1,47 @@ +{ + "LabelBirthDate": "Data urodzenia:", + "LabelReleaseDate": "Data wydania:", + "LabelYear": "Rok:", + "LabelBirthYear": "Rok urodzenia:", + "LabelDynamicExternalId": "{0} Id:", + "LabelDeathDate": "Data \u015bmierci:", + "LabelEndDate": "Data zako\u0144czenia:", + "LabelTrackNumber": "Numer utworu:", + "LabelSeasonNumber": "Season number:", + "LabelEpisodeNumber": "Episode number:", + "LabelNumber": "Numer:", + "LabelDiscNumber": "Numer dysku", + "LabelParentNumber": "Numer nadrz\u0119dny", + "OptionReleaseDate": "Data Wydania", + "OptionContinuing": "Dalej wy\u015bwietlane", + "OptionEnded": "Zako\u0144czony", + "OptionSortName": "Kr\u00f3tka nazwa:", + "HeaderEnabledFields": "Odblokuj pola", + "HeaderEnabledFieldsHelp": "Odznacz pole aby zablokowa\u0107 i zapobiec zmianie danych.", + "OptionBackdrops": "T\u0142a tematyczne", + "OptionImages": "Obrazki", + "OptionRuntime": "Runtime", + "OptionKeywords": "S\u0142owa kluczowe", + "OptionTags": "Tagi", + "OptionProductionLocations": "Lokalizacja produkcji", + "OptionStudios": "Studios", + "OptionBirthLocation": "Miejsce urodzenia", + "OptionPeople": "People", + "OptionName": "Name", + "OptionParentalRating": "Parental Rating", + "MessageItemSaved": "Obiekt zapisany.", + "OptionGenres": "Genres", + "OptionOverview": "Overview", + "LabelPersonRole": "Role:", + "LabelType": "Typ:", + "ButtonOk": "Ok", + "OptionActor": "Aktor", + "LabelPersonRoleHelp": "Role maj\u0105 generalne zastosowanie do aktor\u00f3w.", + "OptionDirector": "Re\u017cyser", + "OptionComposer": "Kompozytor", + "OptionGuestStar": "Guest star", + "OptionProducer": "Producent", + "OptionWriter": "Scenarzysta", + "ButtonEdit": "Edytuj", + "LabelName": "Imi\u0119:" +} \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/pt-BR.json b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/pt-BR.json new file mode 100644 index 0000000000..74412bfd3d --- /dev/null +++ b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/pt-BR.json @@ -0,0 +1,47 @@ +{ + "LabelBirthDate": "Data de nascimento:", + "LabelReleaseDate": "Data do lan\u00e7amento:", + "LabelYear": "Ano:", + "LabelBirthYear": "Ano de nascimento:", + "LabelDynamicExternalId": "Id de {0}:", + "LabelDeathDate": "Data da morte:", + "LabelEndDate": "Data final:", + "LabelTrackNumber": "N\u00famero da faixa:", + "LabelSeasonNumber": "N\u00famero da temporada:", + "LabelEpisodeNumber": "N\u00famero do epis\u00f3dio:", + "LabelNumber": "N\u00famero:", + "LabelDiscNumber": "N\u00famero do disco", + "LabelParentNumber": "N\u00famero do superior", + "OptionReleaseDate": "Data de Lan\u00e7amento", + "OptionContinuing": "Em Exibi\u00e7\u00e3o", + "OptionEnded": "Finalizada", + "OptionSortName": "Nome para ordena\u00e7\u00e3o", + "HeaderEnabledFields": "Campos Ativados", + "HeaderEnabledFieldsHelp": "Desmarque um campo para bloque\u00e1-lo e evitar que seus dados sejam alterados.", + "OptionBackdrops": "Imagens de Fundo", + "OptionImages": "Imagens", + "OptionRuntime": "Dura\u00e7\u00e3o", + "OptionKeywords": "Palavras-chave", + "OptionTags": "Tags", + "OptionProductionLocations": "Locais de Produ\u00e7\u00e3o", + "OptionStudios": "Est\u00fadios", + "OptionBirthLocation": "Local de Nascimento", + "OptionPeople": "Pessoas", + "OptionName": "Nome", + "OptionParentalRating": "Classifica\u00e7\u00e3o Et\u00e1ria", + "MessageItemSaved": "Item salvo.", + "OptionGenres": "G\u00eaneros", + "OptionOverview": "Sinopse", + "LabelPersonRole": "Personagem:", + "LabelType": "Tipo:", + "ButtonOk": "Ok", + "OptionActor": "Ator", + "LabelPersonRoleHelp": "O personagem geralmente s\u00f3 aplica para atores.", + "OptionDirector": "Diretor", + "OptionComposer": "Compositor", + "OptionGuestStar": "Convidado Especial", + "OptionProducer": "Produtor", + "OptionWriter": "Escritor", + "ButtonEdit": "Editar", + "LabelName": "Nome:" +} \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/pt-PT.json b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/pt-PT.json new file mode 100644 index 0000000000..369b4c1498 --- /dev/null +++ b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/pt-PT.json @@ -0,0 +1,47 @@ +{ + "LabelBirthDate": "Birth date:", + "LabelReleaseDate": "Data do lan\u00e7amento:", + "LabelYear": "Year:", + "LabelBirthYear": "Birth year:", + "LabelDynamicExternalId": "{0} Id:", + "LabelDeathDate": "Death date:", + "LabelEndDate": "Data final:", + "LabelTrackNumber": "Track number:", + "LabelSeasonNumber": "Season number:", + "LabelEpisodeNumber": "Episode number:", + "LabelNumber": "Number:", + "LabelDiscNumber": "Disc number", + "LabelParentNumber": "Parent number", + "OptionReleaseDate": "Data de Lan\u00e7amento:", + "OptionContinuing": "A Continuar", + "OptionEnded": "Terminado", + "OptionSortName": "Sort name", + "HeaderEnabledFields": "Campos Ativados", + "HeaderEnabledFieldsHelp": "Desmarque um campo para bloque\u00e1-lo e evitar que seus dados sejam alterados.", + "OptionBackdrops": "Imagens de Fundo", + "OptionImages": "Imagens", + "OptionRuntime": "Runtime", + "OptionKeywords": "Palavras-chave", + "OptionTags": "Tags", + "OptionProductionLocations": "Production Locations", + "OptionStudios": "Studios", + "OptionBirthLocation": "Birth Location", + "OptionPeople": "People", + "OptionName": "Name", + "OptionParentalRating": "Parental Rating", + "MessageItemSaved": "Item salvo.", + "OptionGenres": "Genres", + "OptionOverview": "Overview", + "LabelPersonRole": "Personagem:", + "LabelType": "Tipo:", + "ButtonOk": "Ok", + "OptionActor": "Ator", + "LabelPersonRoleHelp": "A personagem geralmente s\u00f3 aplica para atores.", + "OptionDirector": "Diretor", + "OptionComposer": "Compositor", + "OptionGuestStar": "Guest star", + "OptionProducer": "Produtor", + "OptionWriter": "Escritor", + "ButtonEdit": "Editar", + "LabelName": "Nome:" +} \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/ro.json b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/ro.json new file mode 100644 index 0000000000..ff5eef3b53 --- /dev/null +++ b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/ro.json @@ -0,0 +1,47 @@ +{ + "LabelBirthDate": "Birth date:", + "LabelReleaseDate": "Release date:", + "LabelYear": "Year:", + "LabelBirthYear": "Birth year:", + "LabelDynamicExternalId": "{0} Id:", + "LabelDeathDate": "Death date:", + "LabelEndDate": "End date:", + "LabelTrackNumber": "Track number:", + "LabelSeasonNumber": "Season number:", + "LabelEpisodeNumber": "Episode number:", + "LabelNumber": "Number:", + "LabelDiscNumber": "Disc number", + "LabelParentNumber": "Parent number", + "OptionReleaseDate": "Data Aparitie", + "OptionContinuing": "Continua", + "OptionEnded": "S-a sfarsit", + "OptionSortName": "Sort name", + "HeaderEnabledFields": "Enabled Fields", + "HeaderEnabledFieldsHelp": "Uncheck a field to lock it and prevent it's data from being changed.", + "OptionBackdrops": "Backdrops", + "OptionImages": "Images", + "OptionRuntime": "Runtime", + "OptionKeywords": "Keywords", + "OptionTags": "Tags", + "OptionProductionLocations": "Production Locations", + "OptionStudios": "Studios", + "OptionBirthLocation": "Birth Location", + "OptionPeople": "People", + "OptionName": "Name", + "OptionParentalRating": "Parental Rating", + "MessageItemSaved": "Item saved.", + "OptionGenres": "Genres", + "OptionOverview": "Overview", + "LabelPersonRole": "Role:", + "LabelType": "Type:", + "ButtonOk": "Ok", + "OptionActor": "Actor", + "LabelPersonRoleHelp": "Role is generally only applicable to actors.", + "OptionDirector": "Director", + "OptionComposer": "Composer", + "OptionGuestStar": "Guest star", + "OptionProducer": "Producer", + "OptionWriter": "Writer", + "ButtonEdit": "Edit", + "LabelName": "Nume:" +} \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/ru.json b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/ru.json new file mode 100644 index 0000000000..4eac1952d9 --- /dev/null +++ b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/ru.json @@ -0,0 +1,47 @@ +{ + "LabelBirthDate": "\u0414\u0430\u0442\u0430 \u0440\u043e\u0436\u0434\u0435\u043d\u0438\u044f:", + "LabelReleaseDate": "\u0414\u0430\u0442\u0430 \u0432\u044b\u043f\u0443\u0441\u043a\u0430:", + "LabelYear": "\u0413\u043e\u0434:", + "LabelBirthYear": "\u0413\u043e\u0434 \u0440\u043e\u0436\u0434\u0435\u043d\u0438\u044f:", + "LabelDynamicExternalId": "{0} Id:", + "LabelDeathDate": "\u0414\u0430\u0442\u0430 \u0441\u043c\u0435\u0440\u0442\u0438:", + "LabelEndDate": "\u041a\u043e\u043d\u0435\u0447\u043d\u0430\u044f \u0434\u0430\u0442\u0430:", + "LabelTrackNumber": "\u041d\u043e\u043c\u0435\u0440 \u0434\u043e\u0440\u043e\u0436\u043a\u0438:", + "LabelSeasonNumber": "\u041d\u043e\u043c\u0435\u0440 \u0441\u0435\u0437\u043e\u043d\u0430:", + "LabelEpisodeNumber": "\u041d\u043e\u043c\u0435\u0440 \u044d\u043f\u0438\u0437\u043e\u0434\u0430:", + "LabelNumber": "\u041d\u043e\u043c\u0435\u0440:", + "LabelDiscNumber": "\u041d\u043e\u043c\u0435\u0440 \u0434\u0438\u0441\u043a\u0430", + "LabelParentNumber": "\u0420\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u043d\u043e\u043c\u0435\u0440", + "OptionReleaseDate": "\u0414\u0430\u0442\u0430 \u0432\u044b\u043f\u0443\u0441\u043a\u0430", + "OptionContinuing": "\u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u044e\u0449\u0435\u0435\u0441\u044f", + "OptionEnded": "\u041f\u0440\u0435\u043a\u0440\u0430\u0449\u0451\u043d\u043d\u043e\u0435", + "OptionSortName": "\u0418\u043c\u044f \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438", + "HeaderEnabledFields": "\u0412\u043a\u043b\u044e\u0447\u0451\u043d\u043d\u044b\u0435 \u043f\u043e\u043b\u044f", + "HeaderEnabledFieldsHelp": "\u0421\u043d\u0438\u043c\u0438\u0442\u0435 \u0444\u043b\u0430\u0436\u043e\u043a, \u0447\u0442\u043e\u0431\u044b \u0437\u0430\u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u043e\u043b\u0435 \u0438 \u0437\u0430\u0449\u0438\u0442\u0438\u0442\u044c \u0435\u0433\u043e \u0434\u0430\u043d\u043d\u044b\u0435 \u043e\u0442 \u0438\u0437\u043c\u0435\u043d\u043d\u0435\u043d\u0438\u0439.", + "OptionBackdrops": "\u0417\u0430\u0434\u043d\u0438\u043a\u0438", + "OptionImages": "\u0420\u0438\u0441\u0443\u043d\u043a\u0438", + "OptionRuntime": "\u0414\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c", + "OptionKeywords": "\u041a\u043b\u044e\u0447\u0435\u0432\u044b\u0435 \u0441\u043b\u043e\u0432\u0430", + "OptionTags": "\u0422\u0435\u0433\u0438", + "OptionProductionLocations": "\u041c\u0435\u0441\u0442\u0430 \u0441\u044a\u0451\u043c\u043e\u043a", + "OptionStudios": "\u0421\u0442\u0443\u0434\u0438\u0438", + "OptionBirthLocation": "\u041c\u0435\u0441\u0442\u043e \u0440\u043e\u0436\u0434\u0435\u043d\u0438\u044f", + "OptionPeople": "\u041b\u044e\u0434\u0438", + "OptionName": "\u0418\u043c\u044f", + "OptionParentalRating": "\u0412\u043e\u0437\u0440. \u043a\u0430\u0442.", + "MessageItemSaved": "\u042d\u043b\u0435\u043c\u0435\u043d\u0442 \u0441\u043e\u0445\u0440\u0430\u043d\u0451\u043d.", + "OptionGenres": "\u0416\u0430\u043d\u0440\u044b", + "OptionOverview": "\u041e\u0431\u0437\u043e\u0440", + "LabelPersonRole": "\u0420\u043e\u043b\u044c:", + "LabelType": "\u0422\u0438\u043f:", + "ButtonOk": "\u041e\u041a", + "OptionActor": "\u0410\u043a\u0442\u0451\u0440", + "LabelPersonRoleHelp": "\u0420\u043e\u043b\u0438 \u043e\u0431\u044b\u0447\u043d\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u043c\u044b \u0442\u043e\u043b\u044c\u043a\u043e \u043a \u0430\u043a\u0442\u0451\u0440\u0430\u043c.", + "OptionDirector": "\u0420\u0435\u0436\u0438\u0441\u0441\u0451\u0440", + "OptionComposer": "\u041a\u043e\u043c\u043f\u043e\u0437\u0438\u0442\u043e\u0440", + "OptionGuestStar": "\u041f\u0440\u0438\u0433\u043b. \u0430\u043a\u0442\u0451\u0440", + "OptionProducer": "\u041f\u0440\u043e\u0434\u044e\u0441\u0435\u0440", + "OptionWriter": "\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0441\u0442", + "ButtonEdit": "\u041f\u0440\u0430\u0432\u0438\u0442\u044c", + "LabelName": "\u0418\u043c\u044f:" +} \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/sk.json b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/sk.json new file mode 100644 index 0000000000..1c8a0cbcd8 --- /dev/null +++ b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/sk.json @@ -0,0 +1,47 @@ +{ + "LabelBirthDate": "Birth date:", + "LabelReleaseDate": "Release date:", + "LabelYear": "Year:", + "LabelBirthYear": "Birth year:", + "LabelDynamicExternalId": "{0} Id:", + "LabelDeathDate": "Death date:", + "LabelEndDate": "End date:", + "LabelTrackNumber": "Track number:", + "LabelSeasonNumber": "Season number:", + "LabelEpisodeNumber": "Episode number:", + "LabelNumber": "Number:", + "LabelDiscNumber": "Disc number", + "LabelParentNumber": "Parent number", + "OptionReleaseDate": "Release Date", + "OptionContinuing": "Continuing", + "OptionEnded": "Ended", + "OptionSortName": "Sort name", + "HeaderEnabledFields": "Enabled Fields", + "HeaderEnabledFieldsHelp": "Uncheck a field to lock it and prevent it's data from being changed.", + "OptionBackdrops": "Backdrops", + "OptionImages": "Images", + "OptionRuntime": "Runtime", + "OptionKeywords": "Keywords", + "OptionTags": "Tags", + "OptionProductionLocations": "Production Locations", + "OptionStudios": "Studios", + "OptionBirthLocation": "Birth Location", + "OptionPeople": "People", + "OptionName": "Name", + "OptionParentalRating": "Parental Rating", + "MessageItemSaved": "Item saved.", + "OptionGenres": "Genres", + "OptionOverview": "Overview", + "LabelPersonRole": "Role:", + "LabelType": "Type:", + "ButtonOk": "Ok", + "OptionActor": "Actor", + "LabelPersonRoleHelp": "Role is generally only applicable to actors.", + "OptionDirector": "Director", + "OptionComposer": "Composer", + "OptionGuestStar": "Guest star", + "OptionProducer": "Producer", + "OptionWriter": "Writer", + "ButtonEdit": "Edit", + "LabelName": "Name:" +} \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/sl-SI.json b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/sl-SI.json new file mode 100644 index 0000000000..c6ba238c56 --- /dev/null +++ b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/sl-SI.json @@ -0,0 +1,47 @@ +{ + "LabelBirthDate": "Birth date:", + "LabelReleaseDate": "Release date:", + "LabelYear": "Year:", + "LabelBirthYear": "Birth year:", + "LabelDynamicExternalId": "{0} Id:", + "LabelDeathDate": "Death date:", + "LabelEndDate": "End date:", + "LabelTrackNumber": "Track number:", + "LabelSeasonNumber": "Season number:", + "LabelEpisodeNumber": "Episode number:", + "LabelNumber": "Number:", + "LabelDiscNumber": "Disc number", + "LabelParentNumber": "Parent number", + "OptionReleaseDate": "Datum Izdaje", + "OptionContinuing": "Continuing", + "OptionEnded": "Ended", + "OptionSortName": "Sort name", + "HeaderEnabledFields": "Enabled Fields", + "HeaderEnabledFieldsHelp": "Uncheck a field to lock it and prevent it's data from being changed.", + "OptionBackdrops": "Backdrops", + "OptionImages": "Images", + "OptionRuntime": "Runtime", + "OptionKeywords": "Keywords", + "OptionTags": "Tags", + "OptionProductionLocations": "Production Locations", + "OptionStudios": "Studios", + "OptionBirthLocation": "Birth Location", + "OptionPeople": "People", + "OptionName": "Name", + "OptionParentalRating": "Parental Rating", + "MessageItemSaved": "Item saved.", + "OptionGenres": "Genres", + "OptionOverview": "Overview", + "LabelPersonRole": "Role:", + "LabelType": "Type:", + "ButtonOk": "Ok", + "OptionActor": "Actor", + "LabelPersonRoleHelp": "Role is generally only applicable to actors.", + "OptionDirector": "Director", + "OptionComposer": "Composer", + "OptionGuestStar": "Guest star", + "OptionProducer": "Producer", + "OptionWriter": "Writer", + "ButtonEdit": "Edit", + "LabelName": "Name:" +} \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/sv.json b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/sv.json new file mode 100644 index 0000000000..aecf237fc6 --- /dev/null +++ b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/sv.json @@ -0,0 +1,47 @@ +{ + "LabelBirthDate": "F\u00f6delsedatum:", + "LabelReleaseDate": "Premi\u00e4rdatum:", + "LabelYear": "\u00c5r:", + "LabelBirthYear": "F\u00f6delse\u00e5r:", + "LabelDynamicExternalId": "{0} ID:", + "LabelDeathDate": "D\u00f6d:", + "LabelEndDate": "Slutdatum:", + "LabelTrackNumber": "Sp\u00e5r nr", + "LabelSeasonNumber": "S\u00e4songsnummer:", + "LabelEpisodeNumber": "Avsnittsnummer:", + "LabelNumber": "Nr:", + "LabelDiscNumber": "Skiva nr", + "LabelParentNumber": "F\u00f6r\u00e4lder nr", + "OptionReleaseDate": "Premi\u00e4rdatum", + "OptionContinuing": "P\u00e5g\u00e5ende", + "OptionEnded": "Avslutad", + "OptionSortName": "Sorteringstitel", + "HeaderEnabledFields": "Aktiverade f\u00e4lt", + "HeaderEnabledFieldsHelp": "Uncheck a field to lock it and prevent it's data from being changed.", + "OptionBackdrops": "Fondbilder", + "OptionImages": "Bilder", + "OptionRuntime": "Speltid", + "OptionKeywords": "Nyckelord", + "OptionTags": "Etiketter", + "OptionProductionLocations": "Produktionsplatser", + "OptionStudios": "Studior", + "OptionBirthLocation": "F\u00f6delseort", + "OptionPeople": "Personer", + "OptionName": "Namn", + "OptionParentalRating": "Parental Rating", + "MessageItemSaved": "Objektet har sparats.", + "OptionGenres": "Genrer", + "OptionOverview": "\u00d6versikt", + "LabelPersonRole": "Roll:", + "LabelType": "Typ:", + "ButtonOk": "Ok", + "OptionActor": "Sk\u00e5despelare", + "LabelPersonRoleHelp": "Roll anv\u00e4nds i allm\u00e4nhet bara f\u00f6r sk\u00e5despelare.", + "OptionDirector": "Regiss\u00f6r", + "OptionComposer": "Komposit\u00f6r", + "OptionGuestStar": "G\u00e4stmedverkande", + "OptionProducer": "Producent", + "OptionWriter": "Manusf\u00f6rfattare", + "ButtonEdit": "\u00c4ndra", + "LabelName": "Namn:" +} \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/tr.json b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/tr.json new file mode 100644 index 0000000000..be6b03b77a --- /dev/null +++ b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/tr.json @@ -0,0 +1,47 @@ +{ + "LabelBirthDate": "Birth date:", + "LabelReleaseDate": "Release date:", + "LabelYear": "Year:", + "LabelBirthYear": "Birth year:", + "LabelDynamicExternalId": "{0} Id:", + "LabelDeathDate": "Death date:", + "LabelEndDate": "End date:", + "LabelTrackNumber": "Track number:", + "LabelSeasonNumber": "Season number:", + "LabelEpisodeNumber": "Episode number:", + "LabelNumber": "Number:", + "LabelDiscNumber": "Disc number", + "LabelParentNumber": "Parent number", + "OptionReleaseDate": "Release Date", + "OptionContinuing": "Topluluk", + "OptionEnded": "Bitmi\u015f", + "OptionSortName": "Sort name", + "HeaderEnabledFields": "Enabled Fields", + "HeaderEnabledFieldsHelp": "Uncheck a field to lock it and prevent it's data from being changed.", + "OptionBackdrops": "Backdrops", + "OptionImages": "Images", + "OptionRuntime": "Runtime", + "OptionKeywords": "Keywords", + "OptionTags": "Tags", + "OptionProductionLocations": "Production Locations", + "OptionStudios": "Studios", + "OptionBirthLocation": "Birth Location", + "OptionPeople": "People", + "OptionName": "Name", + "OptionParentalRating": "Parental Rating", + "MessageItemSaved": "Item saved.", + "OptionGenres": "Genres", + "OptionOverview": "Overview", + "LabelPersonRole": "Role:", + "LabelType": "T\u00fcr", + "ButtonOk": "Ok", + "OptionActor": "Actor", + "LabelPersonRoleHelp": "Role is generally only applicable to actors.", + "OptionDirector": "Director", + "OptionComposer": "Composer", + "OptionGuestStar": "Guest star", + "OptionProducer": "Producer", + "OptionWriter": "Writer", + "ButtonEdit": "D\u00fczenle", + "LabelName": "\u0130sim" +} \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/uk.json b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/uk.json new file mode 100644 index 0000000000..1a76637b2f --- /dev/null +++ b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/uk.json @@ -0,0 +1,47 @@ +{ + "LabelBirthDate": "\u0414\u0430\u0442\u0430 \u043d\u0430\u0440\u043e\u0434\u0436\u0435\u043d\u043d\u044f:", + "LabelReleaseDate": "Release date:", + "LabelYear": "Year:", + "LabelBirthYear": "\u0420\u0456\u043a \u043d\u0430\u0440\u043e\u0434\u0436\u0435\u043d\u043d\u044f:", + "LabelDynamicExternalId": "{0} Id:", + "LabelDeathDate": "\u0414\u0430\u0442\u0430 \u0441\u043c\u0435\u0440\u0442\u0456:", + "LabelEndDate": "End date:", + "LabelTrackNumber": "Track number:", + "LabelSeasonNumber": "Season number:", + "LabelEpisodeNumber": "Episode number:", + "LabelNumber": "Number:", + "LabelDiscNumber": "Disc number", + "LabelParentNumber": "Parent number", + "OptionReleaseDate": "Release Date", + "OptionContinuing": "Continuing", + "OptionEnded": "Ended", + "OptionSortName": "Sort name", + "HeaderEnabledFields": "Enabled Fields", + "HeaderEnabledFieldsHelp": "Uncheck a field to lock it and prevent it's data from being changed.", + "OptionBackdrops": "Backdrops", + "OptionImages": "Images", + "OptionRuntime": "Runtime", + "OptionKeywords": "Keywords", + "OptionTags": "Tags", + "OptionProductionLocations": "Production Locations", + "OptionStudios": "Studios", + "OptionBirthLocation": "Birth Location", + "OptionPeople": "People", + "OptionName": "Name", + "OptionParentalRating": "Parental Rating", + "MessageItemSaved": "Item saved.", + "OptionGenres": "Genres", + "OptionOverview": "Overview", + "LabelPersonRole": "Role:", + "LabelType": "Type:", + "ButtonOk": "Ok", + "OptionActor": "Actor", + "LabelPersonRoleHelp": "Role is generally only applicable to actors.", + "OptionDirector": "Director", + "OptionComposer": "Composer", + "OptionGuestStar": "Guest star", + "OptionProducer": "Producer", + "OptionWriter": "Writer", + "ButtonEdit": "Edit", + "LabelName": "Name:" +} \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/vi.json b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/vi.json new file mode 100644 index 0000000000..8ab03ebfc9 --- /dev/null +++ b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/vi.json @@ -0,0 +1,47 @@ +{ + "LabelBirthDate": "Birth date:", + "LabelReleaseDate": "Release date:", + "LabelYear": "Year:", + "LabelBirthYear": "Birth year:", + "LabelDynamicExternalId": "{0} Id:", + "LabelDeathDate": "Death date:", + "LabelEndDate": "End date:", + "LabelTrackNumber": "Track number:", + "LabelSeasonNumber": "Season number:", + "LabelEpisodeNumber": "Episode number:", + "LabelNumber": "Number:", + "LabelDiscNumber": "Disc number", + "LabelParentNumber": "Parent number", + "OptionReleaseDate": "Release Date", + "OptionContinuing": "Continuing", + "OptionEnded": "Ended", + "OptionSortName": "Sort name", + "HeaderEnabledFields": "Enabled Fields", + "HeaderEnabledFieldsHelp": "Uncheck a field to lock it and prevent it's data from being changed.", + "OptionBackdrops": "Backdrops", + "OptionImages": "Images", + "OptionRuntime": "Runtime", + "OptionKeywords": "Keywords", + "OptionTags": "Tags", + "OptionProductionLocations": "Production Locations", + "OptionStudios": "Studios", + "OptionBirthLocation": "Birth Location", + "OptionPeople": "People", + "OptionName": "Name", + "OptionParentalRating": "Parental Rating", + "MessageItemSaved": "Item saved.", + "OptionGenres": "Genres", + "OptionOverview": "Overview", + "LabelPersonRole": "Role:", + "LabelType": "Type:", + "ButtonOk": "Ok", + "OptionActor": "Actor", + "LabelPersonRoleHelp": "Role is generally only applicable to actors.", + "OptionDirector": "Director", + "OptionComposer": "Composer", + "OptionGuestStar": "Guest star", + "OptionProducer": "Producer", + "OptionWriter": "Writer", + "ButtonEdit": "Edit", + "LabelName": "T\u00ean:" +} \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/zh-CN.json b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/zh-CN.json new file mode 100644 index 0000000000..46713791dd --- /dev/null +++ b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/zh-CN.json @@ -0,0 +1,47 @@ +{ + "LabelBirthDate": "Birth date:", + "LabelReleaseDate": "\u53d1\u884c\u65e5\u671f\uff1a", + "LabelYear": "Year:", + "LabelBirthYear": "\u51fa\u751f\u5e74\u4efd\uff1a", + "LabelDynamicExternalId": "{0} Id\uff1a", + "LabelDeathDate": "\u53bb\u4e16\u65e5\u671f\uff1a", + "LabelEndDate": "\u7ed3\u675f\u65e5\u671f\uff1a", + "LabelTrackNumber": "\u97f3\u8f68\u53f7\u7801\uff1a", + "LabelSeasonNumber": "Season number:", + "LabelEpisodeNumber": "Episode number:", + "LabelNumber": "\u7f16\u53f7\uff1a", + "LabelDiscNumber": "\u5149\u76d8\u53f7", + "LabelParentNumber": "\u6bcd\u5e26\u53f7", + "OptionReleaseDate": "\u53d1\u884c\u65e5\u671f", + "OptionContinuing": "\u7ee7\u7eed", + "OptionEnded": "\u7ed3\u675f", + "OptionSortName": "\u6392\u5e8f\u540d\u79f0", + "HeaderEnabledFields": "Enabled Fields", + "HeaderEnabledFieldsHelp": "Uncheck a field to lock it and prevent it's data from being changed.", + "OptionBackdrops": "\u80cc\u666f", + "OptionImages": "\u56fe\u7247", + "OptionRuntime": "Runtime", + "OptionKeywords": "\u5173\u952e\u8bcd", + "OptionTags": "\u6807\u7b7e", + "OptionProductionLocations": "\u4ea7\u5730", + "OptionStudios": "Studios", + "OptionBirthLocation": "\u51fa\u751f\u5730", + "OptionPeople": "People", + "OptionName": "Name", + "OptionParentalRating": "Parental Rating", + "MessageItemSaved": "\u9879\u76ee\u5df2\u4fdd\u5b58\u3002", + "OptionGenres": "Genres", + "OptionOverview": "Overview", + "LabelPersonRole": "\u89d2\u8272\uff1a", + "LabelType": "\u7c7b\u578b\uff1a", + "ButtonOk": "Ok", + "OptionActor": "\u6f14\u5458", + "LabelPersonRoleHelp": "\u89d2\u8272\u7684\u4f5c\u7528\u662f\u4e00\u822c\u53ea\u9002\u7528\u4e8e\u6f14\u5458\u3002", + "OptionDirector": "\u5bfc\u6f14", + "OptionComposer": "\u4f5c\u66f2\u5bb6", + "OptionGuestStar": "Guest star", + "OptionProducer": "\u5236\u7247\u4eba", + "OptionWriter": "\u7f16\u5267", + "ButtonEdit": "\u7f16\u8f91", + "LabelName": "\u540d\u5b57\uff1a" +} \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/zh-HK.json b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/zh-HK.json new file mode 100644 index 0000000000..385c9bbe31 --- /dev/null +++ b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/zh-HK.json @@ -0,0 +1,47 @@ +{ + "LabelBirthDate": "Birth date:", + "LabelReleaseDate": "Release date:", + "LabelYear": "Year:", + "LabelBirthYear": "Birth year:", + "LabelDynamicExternalId": "{0} Id:", + "LabelDeathDate": "Death date:", + "LabelEndDate": "End date:", + "LabelTrackNumber": "Track number:", + "LabelSeasonNumber": "Season number:", + "LabelEpisodeNumber": "Episode number:", + "LabelNumber": "Number:", + "LabelDiscNumber": "Disc number", + "LabelParentNumber": "Parent number", + "OptionReleaseDate": "\u767c\u4f48\u65e5\u671f", + "OptionContinuing": "\u7e7c\u7e8c", + "OptionEnded": "\u5b8c\u6210", + "OptionSortName": "Sort name", + "HeaderEnabledFields": "Enabled Fields", + "HeaderEnabledFieldsHelp": "Uncheck a field to lock it and prevent it's data from being changed.", + "OptionBackdrops": "Backdrops", + "OptionImages": "Images", + "OptionRuntime": "Runtime", + "OptionKeywords": "Keywords", + "OptionTags": "Tags", + "OptionProductionLocations": "Production Locations", + "OptionStudios": "Studios", + "OptionBirthLocation": "Birth Location", + "OptionPeople": "People", + "OptionName": "Name", + "OptionParentalRating": "Parental Rating", + "MessageItemSaved": "Item saved.", + "OptionGenres": "Genres", + "OptionOverview": "Overview", + "LabelPersonRole": "Role:", + "LabelType": "Type:", + "ButtonOk": "Ok", + "OptionActor": "Actor", + "LabelPersonRoleHelp": "Role is generally only applicable to actors.", + "OptionDirector": "Director", + "OptionComposer": "Composer", + "OptionGuestStar": "Guest star", + "OptionProducer": "Producer", + "OptionWriter": "Writer", + "ButtonEdit": "\u7de8\u8f2f", + "LabelName": "\u540d\u7a31\uff1a" +} \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/zh-TW.json b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/zh-TW.json new file mode 100644 index 0000000000..0d4c9cf93c --- /dev/null +++ b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/strings/zh-TW.json @@ -0,0 +1,47 @@ +{ + "LabelBirthDate": "Birth date:", + "LabelReleaseDate": "Release date:", + "LabelYear": "Year:", + "LabelBirthYear": "Birth year:", + "LabelDynamicExternalId": "{0} Id:", + "LabelDeathDate": "Death date:", + "LabelEndDate": "End date:", + "LabelTrackNumber": "Track number:", + "LabelSeasonNumber": "Season number:", + "LabelEpisodeNumber": "Episode number:", + "LabelNumber": "Number:", + "LabelDiscNumber": "Disc number", + "LabelParentNumber": "Parent number", + "OptionReleaseDate": "Release Date", + "OptionContinuing": "\u6301\u7e8c", + "OptionEnded": "\u5b8c\u7d50", + "OptionSortName": "Sort name", + "HeaderEnabledFields": "Enabled Fields", + "HeaderEnabledFieldsHelp": "Uncheck a field to lock it and prevent it's data from being changed.", + "OptionBackdrops": "Backdrops", + "OptionImages": "Images", + "OptionRuntime": "Runtime", + "OptionKeywords": "Keywords", + "OptionTags": "Tags", + "OptionProductionLocations": "Production Locations", + "OptionStudios": "Studios", + "OptionBirthLocation": "Birth Location", + "OptionPeople": "People", + "OptionName": "Name", + "OptionParentalRating": "Parental Rating", + "MessageItemSaved": "Item saved.", + "OptionGenres": "Genres", + "OptionOverview": "Overview", + "LabelPersonRole": "Role:", + "LabelType": "Type:", + "ButtonOk": "Ok", + "OptionActor": "Actor", + "LabelPersonRoleHelp": "Role is generally only applicable to actors.", + "OptionDirector": "Director", + "OptionComposer": "Composer", + "OptionGuestStar": "Guest star", + "OptionProducer": "Producer", + "OptionWriter": "Writer", + "ButtonEdit": "\u7de8\u8f2f", + "LabelName": "\u540d\u5b57\uff1a" +} \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/playlisteditor/playlisteditor.js b/dashboard-ui/bower_components/emby-webcomponents/playlisteditor/playlisteditor.js index 1f88bebc90..c87bca6e2c 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/playlisteditor/playlisteditor.js +++ b/dashboard-ui/bower_components/emby-webcomponents/playlisteditor/playlisteditor.js @@ -1,4 +1,4 @@ -define(['shell', 'dialogHelper', 'loading', 'layoutManager', 'connectionManager', 'scrollHelper', 'embyRouter', 'globalize', 'emby-input', 'paper-icon-button-light', 'emby-select', 'material-icons', 'css!./../formdialog', 'emby-button'], function (shell, dialogHelper, loading, layoutManager, connectionManager, scrollHelper, embyRouter, globalize) { +define(['shell', 'dialogHelper', 'loading', 'layoutManager', 'connectionManager', 'embyRouter', 'globalize', 'emby-input', 'paper-icon-button-light', 'emby-select', 'material-icons', 'css!./../formdialog', 'emby-button'], function (shell, dialogHelper, loading, layoutManager, connectionManager, embyRouter, globalize) { var lastPlaylistId = ''; var currentServerId; @@ -196,6 +196,13 @@ } } + function centerFocus(elem, horiz, on) { + require(['scrollHelper'], function (scrollHelper) { + var fn = on ? 'on' : 'off'; + scrollHelper.centerFocus[fn](elem, horiz); + }); + } + function playlisteditor() { var self = this; @@ -244,11 +251,15 @@ }); if (layoutManager.tv) { - scrollHelper.centerFocus.on(dlg.querySelector('.dialogContent'), false); + centerFocus(dlg.querySelector('.dialogContent'), false, true); } return new Promise(function (resolve, reject) { + if (layoutManager.tv) { + centerFocus(dlg.querySelector('.dialogContent'), false, false); + } + dlg.addEventListener('close', resolve); dialogHelper.open(dlg); }); diff --git a/dashboard-ui/bower_components/emby-webcomponents/refreshdialog/refreshdialog.js b/dashboard-ui/bower_components/emby-webcomponents/refreshdialog/refreshdialog.js index 56aaf45e9e..e531061ff5 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/refreshdialog/refreshdialog.js +++ b/dashboard-ui/bower_components/emby-webcomponents/refreshdialog/refreshdialog.js @@ -1,4 +1,4 @@ -define(['shell', 'dialogHelper', 'loading', 'layoutManager', 'connectionManager', 'scrollHelper', 'embyRouter', 'globalize', 'emby-input', 'emby-checkbox', 'paper-icon-button-light', 'emby-select', 'material-icons', 'css!./../formdialog', 'emby-button'], function (shell, dialogHelper, loading, layoutManager, connectionManager, scrollHelper, embyRouter, globalize) { +define(['shell', 'dialogHelper', 'loading', 'layoutManager', 'connectionManager', 'embyRouter', 'globalize', 'emby-input', 'emby-checkbox', 'paper-icon-button-light', 'emby-select', 'material-icons', 'css!./../formdialog', 'emby-button'], function (shell, dialogHelper, loading, layoutManager, connectionManager, embyRouter, globalize) { function parentWithClass(elem, className) { @@ -51,6 +51,13 @@ return html; } + function centerFocus(elem, horiz, on) { + require(['scrollHelper'], function (scrollHelper) { + var fn = on ? 'on' : 'off'; + scrollHelper.centerFocus[fn](elem, horiz); + }); + } + return function (options) { var self = this; @@ -135,11 +142,15 @@ }); if (layoutManager.tv) { - scrollHelper.centerFocus.on(dlg.querySelector('.dialogContent'), false); + centerFocus(dlg.querySelector('.dialogContent'), false, true); } return new Promise(function (resolve, reject) { + if (layoutManager.tv) { + centerFocus(dlg.querySelector('.dialogContent'), false, false); + } + dlg.addEventListener('close', resolve); dialogHelper.open(dlg); }); diff --git a/dashboard-ui/bower_components/emby-webcomponents/subtitleeditor/subtitleeditor.js b/dashboard-ui/bower_components/emby-webcomponents/subtitleeditor/subtitleeditor.js index bf60469843..bee2ac0429 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/subtitleeditor/subtitleeditor.js +++ b/dashboard-ui/bower_components/emby-webcomponents/subtitleeditor/subtitleeditor.js @@ -1,4 +1,4 @@ -define(['dialogHelper', 'require', 'layoutManager', 'globalize', 'scrollHelper', 'appStorage', 'connectionManager', 'loading', 'focusManager', 'dom', 'apphost', 'emby-select', 'listViewStyle', 'paper-icon-button-light', 'css!./../formdialog', 'material-icons', 'css!./subtitleeditor', 'emby-button'], function (dialogHelper, require, layoutManager, globalize, scrollHelper, appStorage, connectionManager, loading, focusManager, dom, appHost) { +define(['dialogHelper', 'require', 'layoutManager', 'globalize', 'appStorage', 'connectionManager', 'loading', 'focusManager', 'dom', 'apphost', 'emby-select', 'listViewStyle', 'paper-icon-button-light', 'css!./../formdialog', 'material-icons', 'css!./subtitleeditor', 'emby-button'], function (dialogHelper, require, layoutManager, globalize, appStorage, connectionManager, loading, focusManager, dom, appHost) { var currentItem; var hasChanges; @@ -389,6 +389,13 @@ }); } + function centerFocus(elem, horiz, on) { + require(['scrollHelper'], function (scrollHelper) { + var fn = on ? 'on' : 'off'; + scrollHelper.centerFocus[fn](elem, horiz); + }); + } + function showEditorInternal(itemId, serverId, template) { hasChanges = false; @@ -397,7 +404,8 @@ return apiClient.getItem(apiClient.getCurrentUserId(), itemId).then(function (item) { var dialogOptions = { - removeOnClose: true + removeOnClose: true, + scrollY: false }; if (layoutManager.tv) { @@ -421,7 +429,11 @@ var btnSubmit = dlg.querySelector('.btnSubmit'); if (layoutManager.tv) { - scrollHelper.centerFocus.on(dlg.querySelector('.dialogContent'), false); + centerFocus(dlg.querySelector('.dialogContent'), false, true); + } + + if (layoutManager.tv) { + centerFocus(dlg.querySelector('.dialogContent'), false, true); dlg.querySelector('.btnSearchSubtitles').classList.add('hide'); } else { btnSubmit.classList.add('hide'); @@ -446,6 +458,10 @@ dlg.addEventListener('close', function () { + if (layoutManager.tv) { + centerFocus(dlg.querySelector('.dialogContent'), false, false); + } + if (hasChanges) { resolve(); } else { diff --git a/dashboard-ui/css/librarybrowser.css b/dashboard-ui/css/librarybrowser.css index 7d34572088..c73631ff66 100644 --- a/dashboard-ui/css/librarybrowser.css +++ b/dashboard-ui/css/librarybrowser.css @@ -30,19 +30,8 @@ z-index: -1; } -.pageBackground { - display: none; - position: fixed; - top: 0; - left: 0; - right: 0; - bottom: 0; - z-index: -1; -} - -.withBackdrop .pageBackground { +.withBackdrop { background-color: rgba(6, 6,6, .9); - display: block; } .pageWithAbsoluteTabs neon-animatable { @@ -292,7 +281,7 @@ span.itemCommunityRating:not(:empty) + .userDataIcons { margin-top: 0 !important; } -.withBackdrop .noBackdrop { +.withBackdrop + .mainDrawerPanel .noBackdrop { background-color: transparent; } diff --git a/dashboard-ui/css/site.css b/dashboard-ui/css/site.css index 942ebedede..c91c12e0d6 100644 --- a/dashboard-ui/css/site.css +++ b/dashboard-ui/css/site.css @@ -1,4 +1,13 @@ -/* Links */ +.backgroundContainer { + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + contain: layout style; +} + +/* Links */ .ui-body-b a { color: #52B54B /*{b-link-color}*/; font-weight: 500; diff --git a/dashboard-ui/devices/ios/ios.css b/dashboard-ui/devices/ios/ios.css index 3194b35f96..6f1cdaa08a 100644 --- a/dashboard-ui/devices/ios/ios.css +++ b/dashboard-ui/devices/ios/ios.css @@ -27,7 +27,7 @@ body:not(.dashboardDocument) .mainDrawerButton { background: #181818; } -.backdropContainer .pageBackground { +.backgroundContainer { background-color: rgba(28,28,28,.92) !important; } diff --git a/dashboard-ui/index.html b/dashboard-ui/index.html index e9ff3c5c24..be843112e4 100644 --- a/dashboard-ui/index.html +++ b/dashboard-ui/index.html @@ -5,11 +5,10 @@
- -
+
+
-