diff --git a/dashboard-ui/bower_components/iron-a11y-keys-behavior/.bower.json b/dashboard-ui/bower_components/iron-a11y-keys-behavior/.bower.json
index 4072b4af76..f0a9c76d51 100644
--- a/dashboard-ui/bower_components/iron-a11y-keys-behavior/.bower.json
+++ b/dashboard-ui/bower_components/iron-a11y-keys-behavior/.bower.json
@@ -29,14 +29,14 @@
"web-component-tester": "*",
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
},
- "homepage": "https://github.com/PolymerElements/iron-a11y-keys-behavior",
+ "homepage": "https://github.com/polymerelements/iron-a11y-keys-behavior",
"_release": "1.0.5",
"_resolution": {
"type": "version",
"tag": "v1.0.5",
"commit": "cf833eab5c55a26c5aa92e56d3fcb079120ce66a"
},
- "_source": "git://github.com/PolymerElements/iron-a11y-keys-behavior.git",
+ "_source": "git://github.com/polymerelements/iron-a11y-keys-behavior.git",
"_target": "^1.0.0",
- "_originalSource": "PolymerElements/iron-a11y-keys-behavior"
+ "_originalSource": "polymerelements/iron-a11y-keys-behavior"
}
\ No newline at end of file
diff --git a/dashboard-ui/bower_components/iron-behaviors/.bower.json b/dashboard-ui/bower_components/iron-behaviors/.bower.json
index e794c358f5..f499351883 100644
--- a/dashboard-ui/bower_components/iron-behaviors/.bower.json
+++ b/dashboard-ui/bower_components/iron-behaviors/.bower.json
@@ -1,6 +1,6 @@
{
"name": "iron-behaviors",
- "version": "1.0.7",
+ "version": "1.0.8",
"description": "Provides a set of behaviors for the iron elements",
"private": true,
"authors": [
@@ -28,11 +28,11 @@
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
},
"homepage": "https://github.com/PolymerElements/iron-behaviors",
- "_release": "1.0.7",
+ "_release": "1.0.8",
"_resolution": {
"type": "version",
- "tag": "v1.0.7",
- "commit": "033889b20c6b9ebb45a1ff153fbd667e153fe3f7"
+ "tag": "v1.0.8",
+ "commit": "663ad706b43989f4961d945b8116cf4db346532f"
},
"_source": "git://github.com/PolymerElements/iron-behaviors.git",
"_target": "^1.0.0",
diff --git a/dashboard-ui/bower_components/iron-behaviors/bower.json b/dashboard-ui/bower_components/iron-behaviors/bower.json
index 0932f917f8..2f7f40e09f 100644
--- a/dashboard-ui/bower_components/iron-behaviors/bower.json
+++ b/dashboard-ui/bower_components/iron-behaviors/bower.json
@@ -1,6 +1,6 @@
{
"name": "iron-behaviors",
- "version": "1.0.7",
+ "version": "1.0.8",
"description": "Provides a set of behaviors for the iron elements",
"private": true,
"authors": [
diff --git a/dashboard-ui/bower_components/iron-behaviors/iron-control-state.html b/dashboard-ui/bower_components/iron-behaviors/iron-control-state.html
index 5da455b26d..8362aa3ee2 100644
--- a/dashboard-ui/bower_components/iron-behaviors/iron-control-state.html
+++ b/dashboard-ui/bower_components/iron-behaviors/iron-control-state.html
@@ -65,8 +65,13 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
},
_focusBlurHandler: function(event) {
- var target = event.path ? event.path[0] : event.target;
- if (target === this) {
+ // NOTE(cdata): if we are in ShadowDOM land, `event.target` will
+ // eventually become `this` due to retargeting; if we are not in
+ // ShadowDOM land, `event.target` will eventually become `this` due
+ // to the second conditional which fires a synthetic event (that is also
+ // handled). In either case, we can disregard `event.path`.
+
+ if (event.target === this) {
var focused = event.type === 'focus';
this._setFocused(focused);
} else if (!this.shadowRoot) {
diff --git a/dashboard-ui/bower_components/iron-behaviors/test/focused-state.html b/dashboard-ui/bower_components/iron-behaviors/test/focused-state.html
index ace7a113c5..6ee6792730 100644
--- a/dashboard-ui/bower_components/iron-behaviors/test/focused-state.html
+++ b/dashboard-ui/bower_components/iron-behaviors/test/focused-state.html
@@ -96,9 +96,11 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
focusable.addEventListener('focus', function() {
nFocusEvents += 1;
+ expect(focusable.focused).to.be.equal(true);
MockInteractions.blur(focusable.$.input);
});
focusable.addEventListener('blur', function() {
+ expect(focusable.focused).to.be.equal(false);
nBlurEvents += 1;
});
diff --git a/dashboard-ui/bower_components/iron-overlay-behavior/.bower.json b/dashboard-ui/bower_components/iron-overlay-behavior/.bower.json
index 5f4ff261de..ea16ce655c 100644
--- a/dashboard-ui/bower_components/iron-overlay-behavior/.bower.json
+++ b/dashboard-ui/bower_components/iron-overlay-behavior/.bower.json
@@ -34,14 +34,14 @@
"web-component-tester": "*",
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
},
- "homepage": "https://github.com/PolymerElements/iron-overlay-behavior",
+ "homepage": "https://github.com/polymerelements/iron-overlay-behavior",
"_release": "1.0.5",
"_resolution": {
"type": "version",
"tag": "v1.0.5",
"commit": "f03cea265587c724cf3a85aef76b2ab7ccfd2b94"
},
- "_source": "git://github.com/PolymerElements/iron-overlay-behavior.git",
+ "_source": "git://github.com/polymerelements/iron-overlay-behavior.git",
"_target": "^1.0.0",
- "_originalSource": "PolymerElements/iron-overlay-behavior"
+ "_originalSource": "polymerelements/iron-overlay-behavior"
}
\ No newline at end of file
diff --git a/dashboard-ui/bower_components/paper-behaviors/.bower.json b/dashboard-ui/bower_components/paper-behaviors/.bower.json
index 321be71437..26486f6c6d 100644
--- a/dashboard-ui/bower_components/paper-behaviors/.bower.json
+++ b/dashboard-ui/bower_components/paper-behaviors/.bower.json
@@ -42,7 +42,7 @@
"tag": "v1.0.3",
"commit": "90b54de14264c19693601b9fc16af6b68a9d48e4"
},
- "_source": "git://github.com/polymerelements/paper-behaviors.git",
+ "_source": "git://github.com/PolymerElements/paper-behaviors.git",
"_target": "^1.0.0",
- "_originalSource": "polymerelements/paper-behaviors"
+ "_originalSource": "PolymerElements/paper-behaviors"
}
\ No newline at end of file
diff --git a/dashboard-ui/bower_components/paper-input/.bower.json b/dashboard-ui/bower_components/paper-input/.bower.json
index 451bd7599c..542936c37d 100644
--- a/dashboard-ui/bower_components/paper-input/.bower.json
+++ b/dashboard-ui/bower_components/paper-input/.bower.json
@@ -1,6 +1,6 @@
{
"name": "paper-input",
- "version": "1.0.11",
+ "version": "1.0.12",
"description": "Material design text fields",
"authors": [
"The Polymer Authors"
@@ -44,11 +44,11 @@
"iron-icon": "PolymerElements/iron-icon#^1.0.0",
"paper-icon-button": "PolymerElements/paper-icon-button#^1.0.0"
},
- "_release": "1.0.11",
+ "_release": "1.0.12",
"_resolution": {
"type": "version",
- "tag": "v1.0.11",
- "commit": "a7af749e55fff7599d2ad9da47c86b286e9e2d6f"
+ "tag": "v1.0.12",
+ "commit": "bcfc2998c1e83d0c2ad7206e84717ae98145c45a"
},
"_source": "git://github.com/polymerelements/paper-input.git",
"_target": "^1.0.9",
diff --git a/dashboard-ui/bower_components/paper-input/bower.json b/dashboard-ui/bower_components/paper-input/bower.json
index 352ba97bff..548af0f3ba 100644
--- a/dashboard-ui/bower_components/paper-input/bower.json
+++ b/dashboard-ui/bower_components/paper-input/bower.json
@@ -1,6 +1,6 @@
{
"name": "paper-input",
- "version": "1.0.11",
+ "version": "1.0.12",
"description": "Material design text fields",
"authors": [
"The Polymer Authors"
diff --git a/dashboard-ui/bower_components/paper-input/demo/index.html b/dashboard-ui/bower_components/paper-input/demo/index.html
index 4a804cb889..c2eb7c37b3 100644
--- a/dashboard-ui/bower_components/paper-input/demo/index.html
+++ b/dashboard-ui/bower_components/paper-input/demo/index.html
@@ -73,6 +73,8 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
Validation
+
+
diff --git a/dashboard-ui/bower_components/paper-input/paper-input-behavior.html b/dashboard-ui/bower_components/paper-input/paper-input-behavior.html
index 2c2b42bc59..2ad0870fe9 100644
--- a/dashboard-ui/bower_components/paper-input/paper-input-behavior.html
+++ b/dashboard-ui/bower_components/paper-input/paper-input-behavior.html
@@ -321,10 +321,20 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
/**
* Validates the input element and sets an error style if needed.
+ *
+ * @return {boolean}
*/
- validate: function() {
- return this.inputElement.validate();
- },
+ validate: function() {
+ return this.inputElement.validate();
+ },
+
+ /**
+ * If `autoValidate` is true, then validates the element.
+ */
+ _handleAutoValidate: function() {
+ if (this.autoValidate)
+ this.validate();
+ },
/**
* Restores the cursor to its original position after updating the value.
diff --git a/dashboard-ui/bower_components/paper-input/paper-input-container.html b/dashboard-ui/bower_components/paper-input/paper-input-container.html
index 28fcc341fe..dc4e55ba7f 100644
--- a/dashboard-ui/bower_components/paper-input/paper-input-container.html
+++ b/dashboard-ui/bower_components/paper-input/paper-input-container.html
@@ -350,7 +350,8 @@ This element is `display:block` by default, but you can set the `inline` attribu
focused: {
readOnly: true,
type: Boolean,
- value: false
+ value: false,
+ notify: true
},
_addons: {
@@ -417,6 +418,10 @@ This element is `display:block` by default, but you can set the `inline` attribu
return Polymer.dom(this).querySelector(this._inputSelector);
},
+ get _inputElementValue() {
+ return this._inputElement[this._propertyForValue] || this._inputElement.value;
+ },
+
ready: function() {
if (!this._addons) {
this._addons = [];
@@ -431,7 +436,12 @@ This element is `display:block` by default, but you can set the `inline` attribu
},
attached: function() {
- this._handleValue(this._inputElement);
+ // Only validate when attached if the input already has a value.
+ if (this._inputElementValue != '') {
+ this._handleValueAndAutoValidate(this._inputElement);
+ } else {
+ this._handleValue(this._inputElement);
+ }
},
_onAddonAttached: function(event) {
@@ -453,28 +463,19 @@ This element is `display:block` by default, but you can set the `inline` attribu
_onBlur: function() {
this._setFocused(false);
+ this._handleValueAndAutoValidate(this._inputElement);
},
_onInput: function(event) {
- this._handleValue(event.target);
+ this._handleValueAndAutoValidate(event.target);
},
_onValueChanged: function(event) {
- this._handleValue(event.target);
+ this._handleValueAndAutoValidate(event.target);
},
_handleValue: function(inputElement) {
- var value = inputElement[this._propertyForValue] || inputElement.value;
-
- if (this.autoValidate) {
- var valid;
- if (inputElement.validate) {
- valid = inputElement.validate(value);
- } else {
- valid = inputElement.checkValidity();
- }
- this.invalid = !valid;
- }
+ var value = this._inputElementValue;
// type="number" hack needed because this.value is empty until it's valid
if (value || value === 0 || (inputElement.type === 'number' && !inputElement.checkValidity())) {
@@ -490,6 +491,21 @@ This element is `display:block` by default, but you can set the `inline` attribu
});
},
+ _handleValueAndAutoValidate: function(inputElement) {
+ if (this.autoValidate) {
+ var valid;
+ if (inputElement.validate) {
+ valid = inputElement.validate(this._inputElementValue);
+ } else {
+ valid = inputElement.checkValidity();
+ }
+ this.invalid = !valid;
+ }
+
+ // Call this last to notify the add-ons.
+ this._handleValue(inputElement);
+ },
+
_onIronInputValidate: function(event) {
this.invalid = this._inputElement.invalid;
},
diff --git a/dashboard-ui/bower_components/paper-input/paper-textarea.html b/dashboard-ui/bower_components/paper-input/paper-textarea.html
index bc96eabe11..c908d25ac2 100644
--- a/dashboard-ui/bower_components/paper-input/paper-textarea.html
+++ b/dashboard-ui/bower_components/paper-input/paper-textarea.html
@@ -33,6 +33,11 @@ style this element.
+
diff --git a/dashboard-ui/scripts/librarybrowser.js b/dashboard-ui/scripts/librarybrowser.js
index ddce9ad64f..d02bee3e0f 100644
--- a/dashboard-ui/scripts/librarybrowser.js
+++ b/dashboard-ui/scripts/librarybrowser.js
@@ -1815,7 +1815,7 @@
// cardContent
html += '';
- if (options.overlayPlayButton && !item.IsPlaceHolder && (item.LocationType != 'Virtual' || !item.MediaType)) {
+ if (options.overlayPlayButton && !item.IsPlaceHolder && (item.LocationType != 'Virtual' || !item.MediaType || item.Type == 'Program')) {
html += '';
}
if (options.overlayMoreButton) {
diff --git a/dashboard-ui/scripts/livetvrecordings.js b/dashboard-ui/scripts/livetvrecordings.js
index 1c32c0e42c..1cf53b4d83 100644
--- a/dashboard-ui/scripts/livetvrecordings.js
+++ b/dashboard-ui/scripts/livetvrecordings.js
@@ -57,7 +57,7 @@
shape: "auto",
showTitle: true,
showParentTitle: true,
- overlayText: screenWidth >= 600,
+ centerText: true,
coverImage: true,
lazy: true
diff --git a/dashboard-ui/scripts/sections.js b/dashboard-ui/scripts/sections.js
index e026457597..e8f19baedc 100644
--- a/dashboard-ui/scripts/sections.js
+++ b/dashboard-ui/scripts/sections.js
@@ -450,10 +450,10 @@
shape: "autohome",
showTitle: true,
showParentTitle: true,
- overlayText: screenWidth >= 600,
coverImage: true,
lazy: true,
- showDetailsMenu: true
+ showDetailsMenu: true,
+ centerText: true
});
elem.innerHTML = html;
diff --git a/dashboard-ui/strings/html/ar.json b/dashboard-ui/strings/html/ar.json
index 5ea9e8e46b..a86134ebcd 100644
--- a/dashboard-ui/strings/html/ar.json
+++ b/dashboard-ui/strings/html/ar.json
@@ -1511,6 +1511,8 @@
"HeaderUpcomingForKids": "Upcoming for Kids",
"HeaderSetupLiveTV": "Setup Live TV",
"LabelTunerType": "Tuner type:",
- "HelpMoreTunersCanBeAdded": "More tuners can be added later within the Live TV section.",
- "MessageActiveSupporterMembershipRequiredSeriesRecordings": "An active Emby Supporter membership is required in order to create automated series recordings."
+ "HelpMoreTunersCanBeAdded": "Additional tuners can be added later within the Live TV section.",
+ "MessageActiveSupporterMembershipRequiredSeriesRecordings": "An active Emby Supporter membership is required in order to create automated series recordings.",
+ "HeaderSetupTVGuide": "Setup TV Guide",
+ "LabelDataProvider": "Data provider:"
}
\ No newline at end of file
diff --git a/dashboard-ui/strings/html/bg-BG.json b/dashboard-ui/strings/html/bg-BG.json
index fb923b2ff5..41e79f3b53 100644
--- a/dashboard-ui/strings/html/bg-BG.json
+++ b/dashboard-ui/strings/html/bg-BG.json
@@ -1511,6 +1511,8 @@
"HeaderUpcomingForKids": "Upcoming for Kids",
"HeaderSetupLiveTV": "Setup Live TV",
"LabelTunerType": "Tuner type:",
- "HelpMoreTunersCanBeAdded": "More tuners can be added later within the Live TV section.",
- "MessageActiveSupporterMembershipRequiredSeriesRecordings": "An active Emby Supporter membership is required in order to create automated series recordings."
+ "HelpMoreTunersCanBeAdded": "Additional tuners can be added later within the Live TV section.",
+ "MessageActiveSupporterMembershipRequiredSeriesRecordings": "An active Emby Supporter membership is required in order to create automated series recordings.",
+ "HeaderSetupTVGuide": "Setup TV Guide",
+ "LabelDataProvider": "Data provider:"
}
\ No newline at end of file
diff --git a/dashboard-ui/strings/html/ca.json b/dashboard-ui/strings/html/ca.json
index 588ccc6a1c..a7059305fb 100644
--- a/dashboard-ui/strings/html/ca.json
+++ b/dashboard-ui/strings/html/ca.json
@@ -1511,6 +1511,8 @@
"HeaderUpcomingForKids": "Upcoming for Kids",
"HeaderSetupLiveTV": "Setup Live TV",
"LabelTunerType": "Tuner type:",
- "HelpMoreTunersCanBeAdded": "More tuners can be added later within the Live TV section.",
- "MessageActiveSupporterMembershipRequiredSeriesRecordings": "An active Emby Supporter membership is required in order to create automated series recordings."
+ "HelpMoreTunersCanBeAdded": "Additional tuners can be added later within the Live TV section.",
+ "MessageActiveSupporterMembershipRequiredSeriesRecordings": "An active Emby Supporter membership is required in order to create automated series recordings.",
+ "HeaderSetupTVGuide": "Setup TV Guide",
+ "LabelDataProvider": "Data provider:"
}
\ No newline at end of file
diff --git a/dashboard-ui/strings/html/cs.json b/dashboard-ui/strings/html/cs.json
index d46fcf81a1..027e1321be 100644
--- a/dashboard-ui/strings/html/cs.json
+++ b/dashboard-ui/strings/html/cs.json
@@ -1511,6 +1511,8 @@
"HeaderUpcomingForKids": "Upcoming for Kids",
"HeaderSetupLiveTV": "Setup Live TV",
"LabelTunerType": "Tuner type:",
- "HelpMoreTunersCanBeAdded": "More tuners can be added later within the Live TV section.",
- "MessageActiveSupporterMembershipRequiredSeriesRecordings": "An active Emby Supporter membership is required in order to create automated series recordings."
+ "HelpMoreTunersCanBeAdded": "Additional tuners can be added later within the Live TV section.",
+ "MessageActiveSupporterMembershipRequiredSeriesRecordings": "An active Emby Supporter membership is required in order to create automated series recordings.",
+ "HeaderSetupTVGuide": "Setup TV Guide",
+ "LabelDataProvider": "Data provider:"
}
\ No newline at end of file
diff --git a/dashboard-ui/strings/html/da.json b/dashboard-ui/strings/html/da.json
index 877361d66f..915d4a7c46 100644
--- a/dashboard-ui/strings/html/da.json
+++ b/dashboard-ui/strings/html/da.json
@@ -1511,6 +1511,8 @@
"HeaderUpcomingForKids": "Upcoming for Kids",
"HeaderSetupLiveTV": "Setup Live TV",
"LabelTunerType": "Tuner type:",
- "HelpMoreTunersCanBeAdded": "More tuners can be added later within the Live TV section.",
- "MessageActiveSupporterMembershipRequiredSeriesRecordings": "An active Emby Supporter membership is required in order to create automated series recordings."
+ "HelpMoreTunersCanBeAdded": "Additional tuners can be added later within the Live TV section.",
+ "MessageActiveSupporterMembershipRequiredSeriesRecordings": "An active Emby Supporter membership is required in order to create automated series recordings.",
+ "HeaderSetupTVGuide": "Setup TV Guide",
+ "LabelDataProvider": "Data provider:"
}
\ No newline at end of file
diff --git a/dashboard-ui/strings/html/de.json b/dashboard-ui/strings/html/de.json
index da85c55ae6..fc085ebabd 100644
--- a/dashboard-ui/strings/html/de.json
+++ b/dashboard-ui/strings/html/de.json
@@ -1511,6 +1511,8 @@
"HeaderUpcomingForKids": "Vorschau f\u00fcr Kinder",
"HeaderSetupLiveTV": "Setup Live TV",
"LabelTunerType": "Tuner type:",
- "HelpMoreTunersCanBeAdded": "More tuners can be added later within the Live TV section.",
- "MessageActiveSupporterMembershipRequiredSeriesRecordings": "An active Emby Supporter membership is required in order to create automated series recordings."
+ "HelpMoreTunersCanBeAdded": "Additional tuners can be added later within the Live TV section.",
+ "MessageActiveSupporterMembershipRequiredSeriesRecordings": "An active Emby Supporter membership is required in order to create automated series recordings.",
+ "HeaderSetupTVGuide": "Setup TV Guide",
+ "LabelDataProvider": "Data provider:"
}
\ No newline at end of file
diff --git a/dashboard-ui/strings/html/el.json b/dashboard-ui/strings/html/el.json
index 0acef8a10e..6aa128c5fa 100644
--- a/dashboard-ui/strings/html/el.json
+++ b/dashboard-ui/strings/html/el.json
@@ -1511,6 +1511,8 @@
"HeaderUpcomingForKids": "Upcoming for Kids",
"HeaderSetupLiveTV": "Setup Live TV",
"LabelTunerType": "Tuner type:",
- "HelpMoreTunersCanBeAdded": "More tuners can be added later within the Live TV section.",
- "MessageActiveSupporterMembershipRequiredSeriesRecordings": "An active Emby Supporter membership is required in order to create automated series recordings."
+ "HelpMoreTunersCanBeAdded": "Additional tuners can be added later within the Live TV section.",
+ "MessageActiveSupporterMembershipRequiredSeriesRecordings": "An active Emby Supporter membership is required in order to create automated series recordings.",
+ "HeaderSetupTVGuide": "Setup TV Guide",
+ "LabelDataProvider": "Data provider:"
}
\ No newline at end of file
diff --git a/dashboard-ui/strings/html/en-GB.json b/dashboard-ui/strings/html/en-GB.json
index 278c34765c..32204282ae 100644
--- a/dashboard-ui/strings/html/en-GB.json
+++ b/dashboard-ui/strings/html/en-GB.json
@@ -1511,6 +1511,8 @@
"HeaderUpcomingForKids": "Upcoming for Kids",
"HeaderSetupLiveTV": "Setup Live TV",
"LabelTunerType": "Tuner type:",
- "HelpMoreTunersCanBeAdded": "More tuners can be added later within the Live TV section.",
- "MessageActiveSupporterMembershipRequiredSeriesRecordings": "An active Emby Supporter membership is required in order to create automated series recordings."
+ "HelpMoreTunersCanBeAdded": "Additional tuners can be added later within the Live TV section.",
+ "MessageActiveSupporterMembershipRequiredSeriesRecordings": "An active Emby Supporter membership is required in order to create automated series recordings.",
+ "HeaderSetupTVGuide": "Setup TV Guide",
+ "LabelDataProvider": "Data provider:"
}
\ No newline at end of file
diff --git a/dashboard-ui/strings/html/en-US.json b/dashboard-ui/strings/html/en-US.json
index ef99eb7b53..c122eacc3d 100644
--- a/dashboard-ui/strings/html/en-US.json
+++ b/dashboard-ui/strings/html/en-US.json
@@ -1511,6 +1511,8 @@
"HeaderUpcomingForKids": "Upcoming for Kids",
"HeaderSetupLiveTV": "Setup Live TV",
"LabelTunerType": "Tuner type:",
- "HelpMoreTunersCanBeAdded": "More tuners can be added later within the Live TV section.",
- "MessageActiveSupporterMembershipRequiredSeriesRecordings": "An active Emby Supporter membership is required in order to create automated series recordings."
+ "HelpMoreTunersCanBeAdded": "Additional tuners can be added later within the Live TV section.",
+ "MessageActiveSupporterMembershipRequiredSeriesRecordings": "An active Emby Supporter membership is required in order to create automated series recordings.",
+ "HeaderSetupTVGuide": "Setup TV Guide",
+ "LabelDataProvider": "Data provider:"
}
\ No newline at end of file
diff --git a/dashboard-ui/strings/html/es-AR.json b/dashboard-ui/strings/html/es-AR.json
index ca97d633e0..8e720e63f8 100644
--- a/dashboard-ui/strings/html/es-AR.json
+++ b/dashboard-ui/strings/html/es-AR.json
@@ -1511,6 +1511,8 @@
"HeaderUpcomingForKids": "Upcoming for Kids",
"HeaderSetupLiveTV": "Setup Live TV",
"LabelTunerType": "Tuner type:",
- "HelpMoreTunersCanBeAdded": "More tuners can be added later within the Live TV section.",
- "MessageActiveSupporterMembershipRequiredSeriesRecordings": "An active Emby Supporter membership is required in order to create automated series recordings."
+ "HelpMoreTunersCanBeAdded": "Additional tuners can be added later within the Live TV section.",
+ "MessageActiveSupporterMembershipRequiredSeriesRecordings": "An active Emby Supporter membership is required in order to create automated series recordings.",
+ "HeaderSetupTVGuide": "Setup TV Guide",
+ "LabelDataProvider": "Data provider:"
}
\ No newline at end of file
diff --git a/dashboard-ui/strings/html/es-MX.json b/dashboard-ui/strings/html/es-MX.json
index 14f8446d6c..3ecfc2d633 100644
--- a/dashboard-ui/strings/html/es-MX.json
+++ b/dashboard-ui/strings/html/es-MX.json
@@ -1512,5 +1512,7 @@
"HeaderSetupLiveTV": "Configurar TV en Vivo",
"LabelTunerType": "Tipo de sintonizador:",
"HelpMoreTunersCanBeAdded": "Se pueden agregar mas sintonizadores posteriormente en la secci\u00f3n de TV en Vivo",
- "MessageActiveSupporterMembershipRequiredSeriesRecordings": "An active Emby Supporter membership is required in order to create automated series recordings."
+ "MessageActiveSupporterMembershipRequiredSeriesRecordings": "An active Emby Supporter membership is required in order to create automated series recordings.",
+ "HeaderSetupTVGuide": "Setup TV Guide",
+ "LabelDataProvider": "Data provider:"
}
\ No newline at end of file
diff --git a/dashboard-ui/strings/html/es.json b/dashboard-ui/strings/html/es.json
index e9c465c54e..2d853ec01c 100644
--- a/dashboard-ui/strings/html/es.json
+++ b/dashboard-ui/strings/html/es.json
@@ -1511,6 +1511,8 @@
"HeaderUpcomingForKids": "Upcoming for Kids",
"HeaderSetupLiveTV": "Setup Live TV",
"LabelTunerType": "Tuner type:",
- "HelpMoreTunersCanBeAdded": "More tuners can be added later within the Live TV section.",
- "MessageActiveSupporterMembershipRequiredSeriesRecordings": "An active Emby Supporter membership is required in order to create automated series recordings."
+ "HelpMoreTunersCanBeAdded": "Additional tuners can be added later within the Live TV section.",
+ "MessageActiveSupporterMembershipRequiredSeriesRecordings": "An active Emby Supporter membership is required in order to create automated series recordings.",
+ "HeaderSetupTVGuide": "Setup TV Guide",
+ "LabelDataProvider": "Data provider:"
}
\ No newline at end of file
diff --git a/dashboard-ui/strings/html/fi.json b/dashboard-ui/strings/html/fi.json
index 14763e57ea..310dbcad4d 100644
--- a/dashboard-ui/strings/html/fi.json
+++ b/dashboard-ui/strings/html/fi.json
@@ -1511,6 +1511,8 @@
"HeaderUpcomingForKids": "Upcoming for Kids",
"HeaderSetupLiveTV": "Setup Live TV",
"LabelTunerType": "Tuner type:",
- "HelpMoreTunersCanBeAdded": "More tuners can be added later within the Live TV section.",
- "MessageActiveSupporterMembershipRequiredSeriesRecordings": "An active Emby Supporter membership is required in order to create automated series recordings."
+ "HelpMoreTunersCanBeAdded": "Additional tuners can be added later within the Live TV section.",
+ "MessageActiveSupporterMembershipRequiredSeriesRecordings": "An active Emby Supporter membership is required in order to create automated series recordings.",
+ "HeaderSetupTVGuide": "Setup TV Guide",
+ "LabelDataProvider": "Data provider:"
}
\ No newline at end of file
diff --git a/dashboard-ui/strings/html/fr.json b/dashboard-ui/strings/html/fr.json
index 6939a9b12a..9e8c66d53a 100644
--- a/dashboard-ui/strings/html/fr.json
+++ b/dashboard-ui/strings/html/fr.json
@@ -1512,5 +1512,7 @@
"HeaderSetupLiveTV": "Configuration de la TV Live",
"LabelTunerType": "Type de tuner :",
"HelpMoreTunersCanBeAdded": "D'autres tuners peuvent \u00eatre ajout\u00e9s plus tard dans la section TV Live",
- "MessageActiveSupporterMembershipRequiredSeriesRecordings": "An active Emby Supporter membership is required in order to create automated series recordings."
+ "MessageActiveSupporterMembershipRequiredSeriesRecordings": "Une adh\u00e9sion active au programme de soutien Emby est requise pour cr\u00e9er des enregistrements automatiques de s\u00e9ries.",
+ "HeaderSetupTVGuide": "Setup TV Guide",
+ "LabelDataProvider": "Data provider:"
}
\ No newline at end of file
diff --git a/dashboard-ui/strings/html/gsw.json b/dashboard-ui/strings/html/gsw.json
index da44981766..b9b045b6ec 100644
--- a/dashboard-ui/strings/html/gsw.json
+++ b/dashboard-ui/strings/html/gsw.json
@@ -1511,6 +1511,8 @@
"HeaderUpcomingForKids": "Upcoming for Kids",
"HeaderSetupLiveTV": "Setup Live TV",
"LabelTunerType": "Tuner type:",
- "HelpMoreTunersCanBeAdded": "More tuners can be added later within the Live TV section.",
- "MessageActiveSupporterMembershipRequiredSeriesRecordings": "An active Emby Supporter membership is required in order to create automated series recordings."
+ "HelpMoreTunersCanBeAdded": "Additional tuners can be added later within the Live TV section.",
+ "MessageActiveSupporterMembershipRequiredSeriesRecordings": "An active Emby Supporter membership is required in order to create automated series recordings.",
+ "HeaderSetupTVGuide": "Setup TV Guide",
+ "LabelDataProvider": "Data provider:"
}
\ No newline at end of file
diff --git a/dashboard-ui/strings/html/he.json b/dashboard-ui/strings/html/he.json
index f321ef9231..8b96a125e8 100644
--- a/dashboard-ui/strings/html/he.json
+++ b/dashboard-ui/strings/html/he.json
@@ -1511,6 +1511,8 @@
"HeaderUpcomingForKids": "Upcoming for Kids",
"HeaderSetupLiveTV": "Setup Live TV",
"LabelTunerType": "Tuner type:",
- "HelpMoreTunersCanBeAdded": "More tuners can be added later within the Live TV section.",
- "MessageActiveSupporterMembershipRequiredSeriesRecordings": "An active Emby Supporter membership is required in order to create automated series recordings."
+ "HelpMoreTunersCanBeAdded": "Additional tuners can be added later within the Live TV section.",
+ "MessageActiveSupporterMembershipRequiredSeriesRecordings": "An active Emby Supporter membership is required in order to create automated series recordings.",
+ "HeaderSetupTVGuide": "Setup TV Guide",
+ "LabelDataProvider": "Data provider:"
}
\ No newline at end of file
diff --git a/dashboard-ui/strings/html/hr.json b/dashboard-ui/strings/html/hr.json
index d685317b25..f4722f2afa 100644
--- a/dashboard-ui/strings/html/hr.json
+++ b/dashboard-ui/strings/html/hr.json
@@ -1511,6 +1511,8 @@
"HeaderUpcomingForKids": "Upcoming for Kids",
"HeaderSetupLiveTV": "Setup Live TV",
"LabelTunerType": "Tuner type:",
- "HelpMoreTunersCanBeAdded": "More tuners can be added later within the Live TV section.",
- "MessageActiveSupporterMembershipRequiredSeriesRecordings": "An active Emby Supporter membership is required in order to create automated series recordings."
+ "HelpMoreTunersCanBeAdded": "Additional tuners can be added later within the Live TV section.",
+ "MessageActiveSupporterMembershipRequiredSeriesRecordings": "An active Emby Supporter membership is required in order to create automated series recordings.",
+ "HeaderSetupTVGuide": "Setup TV Guide",
+ "LabelDataProvider": "Data provider:"
}
\ No newline at end of file
diff --git a/dashboard-ui/strings/html/it.json b/dashboard-ui/strings/html/it.json
index 53f9c401e5..295b6c67ce 100644
--- a/dashboard-ui/strings/html/it.json
+++ b/dashboard-ui/strings/html/it.json
@@ -1511,6 +1511,8 @@
"HeaderUpcomingForKids": "Upcoming for Kids",
"HeaderSetupLiveTV": "Setup Live TV",
"LabelTunerType": "Tuner type:",
- "HelpMoreTunersCanBeAdded": "More tuners can be added later within the Live TV section.",
- "MessageActiveSupporterMembershipRequiredSeriesRecordings": "An active Emby Supporter membership is required in order to create automated series recordings."
+ "HelpMoreTunersCanBeAdded": "Additional tuners can be added later within the Live TV section.",
+ "MessageActiveSupporterMembershipRequiredSeriesRecordings": "An active Emby Supporter membership is required in order to create automated series recordings.",
+ "HeaderSetupTVGuide": "Setup TV Guide",
+ "LabelDataProvider": "Data provider:"
}
\ No newline at end of file
diff --git a/dashboard-ui/strings/html/kk.json b/dashboard-ui/strings/html/kk.json
index c4916fd3ed..ddcfdc8280 100644
--- a/dashboard-ui/strings/html/kk.json
+++ b/dashboard-ui/strings/html/kk.json
@@ -1508,9 +1508,11 @@
"HeaderMetadata": "\u041c\u0435\u0442\u0430\u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440",
"HeaderRecordingOptions": "\u0416\u0430\u0437\u0443 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043b\u0435\u0440\u0456",
"ButtonShare": "\u041e\u0440\u0442\u0430\u049b\u0442\u0430\u0441\u0443",
- "HeaderUpcomingForKids": "Upcoming for Kids",
- "HeaderSetupLiveTV": "Setup Live TV",
- "LabelTunerType": "Tuner type:",
- "HelpMoreTunersCanBeAdded": "More tuners can be added later within the Live TV section.",
- "MessageActiveSupporterMembershipRequiredSeriesRecordings": "An active Emby Supporter membership is required in order to create automated series recordings."
+ "HeaderUpcomingForKids": "\u0411\u0430\u043b\u0430\u043b\u0430\u0440 \u04af\u0448\u0456\u043d \u043a\u04af\u0442\u0456\u043b\u0433\u0435\u043d",
+ "HeaderSetupLiveTV": "\u042d\u0444\u0438\u0440\u043b\u0456\u043a \u0422\u0414 \u043e\u0440\u043d\u0430\u0442\u0443",
+ "LabelTunerType": "\u0422\u044e\u043d\u0435\u0440 \u0442\u04af\u0440\u0456:",
+ "HelpMoreTunersCanBeAdded": "\u041a\u04e9\u0431\u0456\u0440\u0435\u043a \u0442\u044e\u043d\u0435\u0440\u043b\u0435\u0440 \u044d\u0444\u0438\u0440\u043b\u0456\u043a \u0422\u0414 \u0431\u04e9\u043b\u0456\u043c\u0456\u043d\u0434\u0435 \u043a\u0435\u0439\u0456\u043d \u04af\u0441\u0442\u0435\u043b\u0456\u043d\u0443\u0456 \u043c\u04af\u043c\u043a\u0456\u043d.",
+ "MessageActiveSupporterMembershipRequiredSeriesRecordings": "\u0422\u0435\u043b\u0435\u0445\u0438\u043a\u0430\u044f\u043b\u0430\u0440\u0434\u044b\u04a3 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0442\u044b \u0436\u0430\u0437\u0431\u0430\u0441\u044b\u043d \u0436\u0430\u0441\u0430\u0443 \u04af\u0448\u0456\u043d Emby \u0436\u0430\u049b\u0442\u0430\u0443\u0448\u044b\u0441\u044b\u043d\u044b\u04a3 \u0431\u0435\u043b\u0441\u0435\u043d\u0434\u0456 \u043c\u04af\u0448\u0435\u043b\u0456\u0433\u0456 \u049b\u0430\u0436\u0435\u0442.",
+ "HeaderSetupTVGuide": "Setup TV Guide",
+ "LabelDataProvider": "Data provider:"
}
\ No newline at end of file
diff --git a/dashboard-ui/strings/html/ko.json b/dashboard-ui/strings/html/ko.json
index ebcda46bc6..2e4764233f 100644
--- a/dashboard-ui/strings/html/ko.json
+++ b/dashboard-ui/strings/html/ko.json
@@ -1511,6 +1511,8 @@
"HeaderUpcomingForKids": "Upcoming for Kids",
"HeaderSetupLiveTV": "Setup Live TV",
"LabelTunerType": "Tuner type:",
- "HelpMoreTunersCanBeAdded": "More tuners can be added later within the Live TV section.",
- "MessageActiveSupporterMembershipRequiredSeriesRecordings": "An active Emby Supporter membership is required in order to create automated series recordings."
+ "HelpMoreTunersCanBeAdded": "Additional tuners can be added later within the Live TV section.",
+ "MessageActiveSupporterMembershipRequiredSeriesRecordings": "An active Emby Supporter membership is required in order to create automated series recordings.",
+ "HeaderSetupTVGuide": "Setup TV Guide",
+ "LabelDataProvider": "Data provider:"
}
\ No newline at end of file
diff --git a/dashboard-ui/strings/html/ms.json b/dashboard-ui/strings/html/ms.json
index 8141e18377..8e3f5a8030 100644
--- a/dashboard-ui/strings/html/ms.json
+++ b/dashboard-ui/strings/html/ms.json
@@ -1511,6 +1511,8 @@
"HeaderUpcomingForKids": "Upcoming for Kids",
"HeaderSetupLiveTV": "Setup Live TV",
"LabelTunerType": "Tuner type:",
- "HelpMoreTunersCanBeAdded": "More tuners can be added later within the Live TV section.",
- "MessageActiveSupporterMembershipRequiredSeriesRecordings": "An active Emby Supporter membership is required in order to create automated series recordings."
+ "HelpMoreTunersCanBeAdded": "Additional tuners can be added later within the Live TV section.",
+ "MessageActiveSupporterMembershipRequiredSeriesRecordings": "An active Emby Supporter membership is required in order to create automated series recordings.",
+ "HeaderSetupTVGuide": "Setup TV Guide",
+ "LabelDataProvider": "Data provider:"
}
\ No newline at end of file
diff --git a/dashboard-ui/strings/html/nb.json b/dashboard-ui/strings/html/nb.json
index be55542366..0f0422a309 100644
--- a/dashboard-ui/strings/html/nb.json
+++ b/dashboard-ui/strings/html/nb.json
@@ -1511,6 +1511,8 @@
"HeaderUpcomingForKids": "Upcoming for Kids",
"HeaderSetupLiveTV": "Setup Live TV",
"LabelTunerType": "Tuner type:",
- "HelpMoreTunersCanBeAdded": "More tuners can be added later within the Live TV section.",
- "MessageActiveSupporterMembershipRequiredSeriesRecordings": "An active Emby Supporter membership is required in order to create automated series recordings."
+ "HelpMoreTunersCanBeAdded": "Additional tuners can be added later within the Live TV section.",
+ "MessageActiveSupporterMembershipRequiredSeriesRecordings": "An active Emby Supporter membership is required in order to create automated series recordings.",
+ "HeaderSetupTVGuide": "Setup TV Guide",
+ "LabelDataProvider": "Data provider:"
}
\ No newline at end of file
diff --git a/dashboard-ui/strings/html/nl.json b/dashboard-ui/strings/html/nl.json
index b37af1e9ec..510844b038 100644
--- a/dashboard-ui/strings/html/nl.json
+++ b/dashboard-ui/strings/html/nl.json
@@ -1512,5 +1512,7 @@
"HeaderSetupLiveTV": "Configureer Live TV",
"LabelTunerType": "Soort Tuner:",
"HelpMoreTunersCanBeAdded": "In de Live TV sectie kunnen later meer tuners toegevoegd worden.",
- "MessageActiveSupporterMembershipRequiredSeriesRecordings": "An active Emby Supporter membership is required in order to create automated series recordings."
+ "MessageActiveSupporterMembershipRequiredSeriesRecordings": "An active Emby Supporter membership is required in order to create automated series recordings.",
+ "HeaderSetupTVGuide": "Setup TV Guide",
+ "LabelDataProvider": "Data provider:"
}
\ No newline at end of file
diff --git a/dashboard-ui/strings/html/pl.json b/dashboard-ui/strings/html/pl.json
index bdd867ca0a..a3fee40c07 100644
--- a/dashboard-ui/strings/html/pl.json
+++ b/dashboard-ui/strings/html/pl.json
@@ -1511,6 +1511,8 @@
"HeaderUpcomingForKids": "Upcoming for Kids",
"HeaderSetupLiveTV": "Setup Live TV",
"LabelTunerType": "Tuner type:",
- "HelpMoreTunersCanBeAdded": "More tuners can be added later within the Live TV section.",
- "MessageActiveSupporterMembershipRequiredSeriesRecordings": "An active Emby Supporter membership is required in order to create automated series recordings."
+ "HelpMoreTunersCanBeAdded": "Additional tuners can be added later within the Live TV section.",
+ "MessageActiveSupporterMembershipRequiredSeriesRecordings": "An active Emby Supporter membership is required in order to create automated series recordings.",
+ "HeaderSetupTVGuide": "Setup TV Guide",
+ "LabelDataProvider": "Data provider:"
}
\ No newline at end of file
diff --git a/dashboard-ui/strings/html/pt-BR.json b/dashboard-ui/strings/html/pt-BR.json
index a6a8385bbc..ceb56688ce 100644
--- a/dashboard-ui/strings/html/pt-BR.json
+++ b/dashboard-ui/strings/html/pt-BR.json
@@ -1512,5 +1512,7 @@
"HeaderSetupLiveTV": "Configura\u00e7\u00e3o da TV ao Vivo",
"LabelTunerType": "Tipo do sintonizador:",
"HelpMoreTunersCanBeAdded": "Mais sintonizadores podem ser adicionados posteriormente dentro da se\u00e7\u00e3o da TV ao Vivo.",
- "MessageActiveSupporterMembershipRequiredSeriesRecordings": "An active Emby Supporter membership is required in order to create automated series recordings."
+ "MessageActiveSupporterMembershipRequiredSeriesRecordings": "\u00c9 necess\u00e1ria uma ades\u00e3o ativa de Colaborador do Emby para criar uma grava\u00e7\u00e3o automatizada de s\u00e9ries.",
+ "HeaderSetupTVGuide": "Setup TV Guide",
+ "LabelDataProvider": "Data provider:"
}
\ No newline at end of file
diff --git a/dashboard-ui/strings/html/pt-PT.json b/dashboard-ui/strings/html/pt-PT.json
index e1c1612225..2d653287b1 100644
--- a/dashboard-ui/strings/html/pt-PT.json
+++ b/dashboard-ui/strings/html/pt-PT.json
@@ -1511,6 +1511,8 @@
"HeaderUpcomingForKids": "Upcoming for Kids",
"HeaderSetupLiveTV": "Setup Live TV",
"LabelTunerType": "Tuner type:",
- "HelpMoreTunersCanBeAdded": "More tuners can be added later within the Live TV section.",
- "MessageActiveSupporterMembershipRequiredSeriesRecordings": "An active Emby Supporter membership is required in order to create automated series recordings."
+ "HelpMoreTunersCanBeAdded": "Additional tuners can be added later within the Live TV section.",
+ "MessageActiveSupporterMembershipRequiredSeriesRecordings": "An active Emby Supporter membership is required in order to create automated series recordings.",
+ "HeaderSetupTVGuide": "Setup TV Guide",
+ "LabelDataProvider": "Data provider:"
}
\ No newline at end of file
diff --git a/dashboard-ui/strings/html/ro.json b/dashboard-ui/strings/html/ro.json
index 76af815257..f0c1e2b581 100644
--- a/dashboard-ui/strings/html/ro.json
+++ b/dashboard-ui/strings/html/ro.json
@@ -1511,6 +1511,8 @@
"HeaderUpcomingForKids": "Upcoming for Kids",
"HeaderSetupLiveTV": "Setup Live TV",
"LabelTunerType": "Tuner type:",
- "HelpMoreTunersCanBeAdded": "More tuners can be added later within the Live TV section.",
- "MessageActiveSupporterMembershipRequiredSeriesRecordings": "An active Emby Supporter membership is required in order to create automated series recordings."
+ "HelpMoreTunersCanBeAdded": "Additional tuners can be added later within the Live TV section.",
+ "MessageActiveSupporterMembershipRequiredSeriesRecordings": "An active Emby Supporter membership is required in order to create automated series recordings.",
+ "HeaderSetupTVGuide": "Setup TV Guide",
+ "LabelDataProvider": "Data provider:"
}
\ No newline at end of file
diff --git a/dashboard-ui/strings/html/ru.json b/dashboard-ui/strings/html/ru.json
index f6402a0b3a..dd9fb7b4dc 100644
--- a/dashboard-ui/strings/html/ru.json
+++ b/dashboard-ui/strings/html/ru.json
@@ -1512,5 +1512,7 @@
"HeaderSetupLiveTV": "\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0422\u0412-\u044d\u0444\u0438\u0440\u0430",
"LabelTunerType": "\u0422\u0438\u043f \u0442\u044e\u043d\u0435\u0440\u0430:",
"HelpMoreTunersCanBeAdded": "\u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0442\u044e\u043d\u0435\u0440\u044b \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u044b \u043f\u043e\u0437\u0436\u0435 \u0432\u043d\u0443\u0442\u0440\u0438 \u0440\u0430\u0437\u0434\u0435\u043b\u0430 \u042d\u0444\u0438\u0440.",
- "MessageActiveSupporterMembershipRequiredSeriesRecordings": "An active Emby Supporter membership is required in order to create automated series recordings."
+ "MessageActiveSupporterMembershipRequiredSeriesRecordings": "\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0447\u043b\u0435\u043d\u0441\u0442\u0432\u043e \u0441\u043f\u043e\u043d\u0441\u043e\u0440\u0430 Emby \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0437\u0430\u043f\u0438\u0441\u0438 \u0441\u0435\u0440\u0438\u0439.",
+ "HeaderSetupTVGuide": "Setup TV Guide",
+ "LabelDataProvider": "Data provider:"
}
\ No newline at end of file
diff --git a/dashboard-ui/strings/html/sl-SI.json b/dashboard-ui/strings/html/sl-SI.json
index 313ac3d46e..0662dc47d2 100644
--- a/dashboard-ui/strings/html/sl-SI.json
+++ b/dashboard-ui/strings/html/sl-SI.json
@@ -1511,6 +1511,8 @@
"HeaderUpcomingForKids": "Upcoming for Kids",
"HeaderSetupLiveTV": "Setup Live TV",
"LabelTunerType": "Tuner type:",
- "HelpMoreTunersCanBeAdded": "More tuners can be added later within the Live TV section.",
- "MessageActiveSupporterMembershipRequiredSeriesRecordings": "An active Emby Supporter membership is required in order to create automated series recordings."
+ "HelpMoreTunersCanBeAdded": "Additional tuners can be added later within the Live TV section.",
+ "MessageActiveSupporterMembershipRequiredSeriesRecordings": "An active Emby Supporter membership is required in order to create automated series recordings.",
+ "HeaderSetupTVGuide": "Setup TV Guide",
+ "LabelDataProvider": "Data provider:"
}
\ No newline at end of file
diff --git a/dashboard-ui/strings/html/sv.json b/dashboard-ui/strings/html/sv.json
index 357dbc5b18..4751486fb4 100644
--- a/dashboard-ui/strings/html/sv.json
+++ b/dashboard-ui/strings/html/sv.json
@@ -1511,6 +1511,8 @@
"HeaderUpcomingForKids": "Upcoming for Kids",
"HeaderSetupLiveTV": "Setup Live TV",
"LabelTunerType": "Tuner type:",
- "HelpMoreTunersCanBeAdded": "More tuners can be added later within the Live TV section.",
- "MessageActiveSupporterMembershipRequiredSeriesRecordings": "An active Emby Supporter membership is required in order to create automated series recordings."
+ "HelpMoreTunersCanBeAdded": "Additional tuners can be added later within the Live TV section.",
+ "MessageActiveSupporterMembershipRequiredSeriesRecordings": "An active Emby Supporter membership is required in order to create automated series recordings.",
+ "HeaderSetupTVGuide": "Setup TV Guide",
+ "LabelDataProvider": "Data provider:"
}
\ No newline at end of file
diff --git a/dashboard-ui/strings/html/tr.json b/dashboard-ui/strings/html/tr.json
index 57cb466c07..94e64bb522 100644
--- a/dashboard-ui/strings/html/tr.json
+++ b/dashboard-ui/strings/html/tr.json
@@ -1511,6 +1511,8 @@
"HeaderUpcomingForKids": "Upcoming for Kids",
"HeaderSetupLiveTV": "Setup Live TV",
"LabelTunerType": "Tuner type:",
- "HelpMoreTunersCanBeAdded": "More tuners can be added later within the Live TV section.",
- "MessageActiveSupporterMembershipRequiredSeriesRecordings": "An active Emby Supporter membership is required in order to create automated series recordings."
+ "HelpMoreTunersCanBeAdded": "Additional tuners can be added later within the Live TV section.",
+ "MessageActiveSupporterMembershipRequiredSeriesRecordings": "An active Emby Supporter membership is required in order to create automated series recordings.",
+ "HeaderSetupTVGuide": "Setup TV Guide",
+ "LabelDataProvider": "Data provider:"
}
\ No newline at end of file
diff --git a/dashboard-ui/strings/html/uk.json b/dashboard-ui/strings/html/uk.json
index ba081a634e..e43700ae7a 100644
--- a/dashboard-ui/strings/html/uk.json
+++ b/dashboard-ui/strings/html/uk.json
@@ -1511,6 +1511,8 @@
"HeaderUpcomingForKids": "Upcoming for Kids",
"HeaderSetupLiveTV": "Setup Live TV",
"LabelTunerType": "Tuner type:",
- "HelpMoreTunersCanBeAdded": "More tuners can be added later within the Live TV section.",
- "MessageActiveSupporterMembershipRequiredSeriesRecordings": "An active Emby Supporter membership is required in order to create automated series recordings."
+ "HelpMoreTunersCanBeAdded": "Additional tuners can be added later within the Live TV section.",
+ "MessageActiveSupporterMembershipRequiredSeriesRecordings": "An active Emby Supporter membership is required in order to create automated series recordings.",
+ "HeaderSetupTVGuide": "Setup TV Guide",
+ "LabelDataProvider": "Data provider:"
}
\ No newline at end of file
diff --git a/dashboard-ui/strings/html/vi.json b/dashboard-ui/strings/html/vi.json
index 6e7c7fbc0d..09a7580c0f 100644
--- a/dashboard-ui/strings/html/vi.json
+++ b/dashboard-ui/strings/html/vi.json
@@ -1511,6 +1511,8 @@
"HeaderUpcomingForKids": "Upcoming for Kids",
"HeaderSetupLiveTV": "Setup Live TV",
"LabelTunerType": "Tuner type:",
- "HelpMoreTunersCanBeAdded": "More tuners can be added later within the Live TV section.",
- "MessageActiveSupporterMembershipRequiredSeriesRecordings": "An active Emby Supporter membership is required in order to create automated series recordings."
+ "HelpMoreTunersCanBeAdded": "Additional tuners can be added later within the Live TV section.",
+ "MessageActiveSupporterMembershipRequiredSeriesRecordings": "An active Emby Supporter membership is required in order to create automated series recordings.",
+ "HeaderSetupTVGuide": "Setup TV Guide",
+ "LabelDataProvider": "Data provider:"
}
\ No newline at end of file
diff --git a/dashboard-ui/strings/html/zh-CN.json b/dashboard-ui/strings/html/zh-CN.json
index 37d51e3e00..8727fc3a68 100644
--- a/dashboard-ui/strings/html/zh-CN.json
+++ b/dashboard-ui/strings/html/zh-CN.json
@@ -1511,6 +1511,8 @@
"HeaderUpcomingForKids": "Upcoming for Kids",
"HeaderSetupLiveTV": "Setup Live TV",
"LabelTunerType": "Tuner type:",
- "HelpMoreTunersCanBeAdded": "More tuners can be added later within the Live TV section.",
- "MessageActiveSupporterMembershipRequiredSeriesRecordings": "An active Emby Supporter membership is required in order to create automated series recordings."
+ "HelpMoreTunersCanBeAdded": "Additional tuners can be added later within the Live TV section.",
+ "MessageActiveSupporterMembershipRequiredSeriesRecordings": "An active Emby Supporter membership is required in order to create automated series recordings.",
+ "HeaderSetupTVGuide": "Setup TV Guide",
+ "LabelDataProvider": "Data provider:"
}
\ No newline at end of file
diff --git a/dashboard-ui/strings/html/zh-TW.json b/dashboard-ui/strings/html/zh-TW.json
index a7dce9c31e..9f28098f57 100644
--- a/dashboard-ui/strings/html/zh-TW.json
+++ b/dashboard-ui/strings/html/zh-TW.json
@@ -1511,6 +1511,8 @@
"HeaderUpcomingForKids": "Upcoming for Kids",
"HeaderSetupLiveTV": "Setup Live TV",
"LabelTunerType": "Tuner type:",
- "HelpMoreTunersCanBeAdded": "More tuners can be added later within the Live TV section.",
- "MessageActiveSupporterMembershipRequiredSeriesRecordings": "An active Emby Supporter membership is required in order to create automated series recordings."
+ "HelpMoreTunersCanBeAdded": "Additional tuners can be added later within the Live TV section.",
+ "MessageActiveSupporterMembershipRequiredSeriesRecordings": "An active Emby Supporter membership is required in order to create automated series recordings.",
+ "HeaderSetupTVGuide": "Setup TV Guide",
+ "LabelDataProvider": "Data provider:"
}
\ No newline at end of file
diff --git a/dashboard-ui/strings/javascript/fr.json b/dashboard-ui/strings/javascript/fr.json
index 6503a2396d..6bb089bfcb 100644
--- a/dashboard-ui/strings/javascript/fr.json
+++ b/dashboard-ui/strings/javascript/fr.json
@@ -835,7 +835,7 @@
"OptionThumb": "Vignette",
"OptionThumbCard": "Carte Vignette",
"OptionBanner": "Banni\u00e8re",
- "NoSlideshowContentFound": "No slideshow images were found.",
- "OptionPhotoSlideshow": "Photo slideshow",
- "OptionBackdropSlideshow": "Backdrop slideshow"
+ "NoSlideshowContentFound": "Aucun diaporama trouv\u00e9.",
+ "OptionPhotoSlideshow": "Diaporama de photos",
+ "OptionBackdropSlideshow": "Diaporama d'illustrations"
}
\ No newline at end of file
diff --git a/dashboard-ui/strings/javascript/kk.json b/dashboard-ui/strings/javascript/kk.json
index f471db8891..24988324db 100644
--- a/dashboard-ui/strings/javascript/kk.json
+++ b/dashboard-ui/strings/javascript/kk.json
@@ -835,7 +835,7 @@
"OptionThumb": "\u041d\u043e\u0431\u0430\u0439",
"OptionThumbCard": "\u041d\u043e\u0431\u0430\u0439-\u043a\u0430\u0440\u0442\u0430",
"OptionBanner": "\u0411\u0430\u043d\u043d\u0435\u0440",
- "NoSlideshowContentFound": "No slideshow images were found.",
- "OptionPhotoSlideshow": "Photo slideshow",
- "OptionBackdropSlideshow": "Backdrop slideshow"
+ "NoSlideshowContentFound": "\u0415\u0448 \u0441\u043b\u0430\u0439\u0434\u0448\u043e\u0443 \u0441\u0443\u0440\u0435\u0442\u0442\u0435\u0440\u0456 \u0442\u0430\u0431\u044b\u043b\u043c\u0430\u0493\u0430\u043d.",
+ "OptionPhotoSlideshow": "\u0424\u043e\u0442\u043e\u0441\u0443\u0440\u0435\u0442\u0442\u0435\u0440 \u0441\u043b\u0430\u0439\u0434\u0448\u043e\u0443\u044b",
+ "OptionBackdropSlideshow": "\u0410\u0440\u0442\u049b\u044b \u0441\u0443\u0440\u0435\u0442\u0442\u0435\u0440 \u0441\u043b\u0430\u0439\u0434\u0448\u043e\u0443\u044b"
}
\ No newline at end of file
diff --git a/dashboard-ui/strings/javascript/pt-BR.json b/dashboard-ui/strings/javascript/pt-BR.json
index 218bf89028..54f2f3553a 100644
--- a/dashboard-ui/strings/javascript/pt-BR.json
+++ b/dashboard-ui/strings/javascript/pt-BR.json
@@ -835,7 +835,7 @@
"OptionThumb": "\u00cdcone",
"OptionThumbCard": "Cart\u00e3o do \u00edcone",
"OptionBanner": "Banner",
- "NoSlideshowContentFound": "No slideshow images were found.",
- "OptionPhotoSlideshow": "Photo slideshow",
- "OptionBackdropSlideshow": "Backdrop slideshow"
+ "NoSlideshowContentFound": "Nenhuma imagem para apresenta\u00e7\u00e3o foi encontrada.",
+ "OptionPhotoSlideshow": "Apresenta\u00e7\u00e3o de Fotos",
+ "OptionBackdropSlideshow": "Apresenta\u00e7\u00e3o de Imagens de Fundo"
}
\ No newline at end of file
diff --git a/dashboard-ui/strings/javascript/ru.json b/dashboard-ui/strings/javascript/ru.json
index 427abd4bb5..caca8a9b29 100644
--- a/dashboard-ui/strings/javascript/ru.json
+++ b/dashboard-ui/strings/javascript/ru.json
@@ -136,7 +136,7 @@
"LabelDefaultStream": "(\u0423\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u0435)",
"LabelForcedStream": "(\u0424\u043e\u0440\u0441-\u044b\u0435)",
"LabelDefaultForcedStream": "(\u0423\u043c\u043e\u043b\u0447.\/\u0424\u043e\u0440\u0441-\u044b\u0435)",
- "LabelUnknownLanguage": "\u041d\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0439 \u044f\u0437\u044b\u043a",
+ "LabelUnknownLanguage": "\u041d\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b. \u044f\u0437\u044b\u043a",
"MessageConfirmSyncJobItemCancellation": "\u0412\u044b \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0445\u043e\u0442\u0438\u0442\u0435 \u043e\u0442\u043c\u0435\u043d\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442?",
"ButtonMute": "\u041e\u0442\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0437\u0432\u0443\u043a",
"ButtonUnmute": "\u0412\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0437\u0432\u0443\u043a",
@@ -273,7 +273,7 @@
"LabelRunningOnPort": "\u0420\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0430 HTTP-\u043f\u043e\u0440\u0442\u0443 {0}.",
"LabelRunningOnPorts": "\u0420\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0430 HTTP-\u043f\u043e\u0440\u0442\u0443 {0} \u0438 HTTPS-\u043f\u043e\u0440\u0442\u0443 {1}.",
"HeaderLatestFromChannel": "\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435 \u0438\u0437 {0}",
- "LabelUnknownLanaguage": "\u041d\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0439 \u044f\u0437\u044b\u043a",
+ "LabelUnknownLanaguage": "\u041d\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b. \u044f\u0437\u044b\u043a",
"HeaderCurrentSubtitles": "\u0421\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u0441\u0443\u0431\u0442\u0438\u0442\u0440\u044b",
"MessageDownloadQueued": "\u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0431\u044b\u043b\u0430 \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0430 \u0432 \u043e\u0447\u0435\u0440\u0435\u0434\u044c.",
"MessageAreYouSureDeleteSubtitles": "\u0412\u044b \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0445\u043e\u0442\u0438\u0442\u0435 \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \u0441\u0443\u0431\u0438\u0442\u0440\u043e\u0432?",
@@ -835,7 +835,7 @@
"OptionThumb": "\u0411\u0435\u0433\u0443\u043d\u043e\u043a",
"OptionThumbCard": "\u0411\u0435\u0433\u0443\u043d\u043e\u043a-\u043a\u0430\u0440\u0442\u0430",
"OptionBanner": "\u0411\u0430\u043d\u043d\u0435\u0440",
- "NoSlideshowContentFound": "No slideshow images were found.",
- "OptionPhotoSlideshow": "Photo slideshow",
- "OptionBackdropSlideshow": "Backdrop slideshow"
+ "NoSlideshowContentFound": "\u041d\u0435 \u0431\u044b\u043b\u0438 \u043d\u0430\u0439\u0434\u0435\u043d\u044b \u0440\u0438\u0441\u0443\u043d\u043a\u0438 \u043a \u0441\u043b\u0430\u0439\u0434-\u0448\u043e\u0443.",
+ "OptionPhotoSlideshow": "\u0421\u043b\u0430\u0439\u0434-\u0448\u043e\u0443 \u0444\u043e\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0439",
+ "OptionBackdropSlideshow": "\u0421\u043b\u0430\u0439\u0434-\u0448\u043e\u0443 \u0437\u0430\u0434\u043d\u0438\u043a\u043e\u0432"
}
\ No newline at end of file
diff --git a/dashboard-ui/vulcanize-out.html b/dashboard-ui/vulcanize-out.html
index 049ca24a40..506e4b147e 100644
--- a/dashboard-ui/vulcanize-out.html
+++ b/dashboard-ui/vulcanize-out.html
@@ -6848,8 +6848,13 @@ this.fire('dom-change');
},
_focusBlurHandler: function(event) {
- var target = event.path ? event.path[0] : event.target;
- if (target === this) {
+ // NOTE(cdata): if we are in ShadowDOM land, `event.target` will
+ // eventually become `this` due to retargeting; if we are not in
+ // ShadowDOM land, `event.target` will eventually become `this` due
+ // to the second conditional which fires a synthetic event (that is also
+ // handled). In either case, we can disregard `event.path`.
+
+ if (event.target === this) {
var focused = event.type === 'focus';
this._setFocused(focused);
} else if (!this.shadowRoot) {
@@ -12548,10 +12553,20 @@ is separate from validation, and `allowed-pattern` does not affect how the input
/**
* Validates the input element and sets an error style if needed.
+ *
+ * @return {boolean}
*/
- validate: function() {
- return this.inputElement.validate();
- },
+ validate: function() {
+ return this.inputElement.validate();
+ },
+
+ /**
+ * If `autoValidate` is true, then validates the element.
+ */
+ _handleAutoValidate: function() {
+ if (this.autoValidate)
+ this.validate();
+ },
/**
* Restores the cursor to its original position after updating the value.
@@ -16687,7 +16702,8 @@ iron-selector:not(.narrow-layout) #main ::content [paper-drawer-toggle] {
focused: {
readOnly: true,
type: Boolean,
- value: false
+ value: false,
+ notify: true
},
_addons: {
@@ -16754,6 +16770,10 @@ iron-selector:not(.narrow-layout) #main ::content [paper-drawer-toggle] {
return Polymer.dom(this).querySelector(this._inputSelector);
},
+ get _inputElementValue() {
+ return this._inputElement[this._propertyForValue] || this._inputElement.value;
+ },
+
ready: function() {
if (!this._addons) {
this._addons = [];
@@ -16768,7 +16788,12 @@ iron-selector:not(.narrow-layout) #main ::content [paper-drawer-toggle] {
},
attached: function() {
- this._handleValue(this._inputElement);
+ // Only validate when attached if the input already has a value.
+ if (this._inputElementValue != '') {
+ this._handleValueAndAutoValidate(this._inputElement);
+ } else {
+ this._handleValue(this._inputElement);
+ }
},
_onAddonAttached: function(event) {
@@ -16790,28 +16815,19 @@ iron-selector:not(.narrow-layout) #main ::content [paper-drawer-toggle] {
_onBlur: function() {
this._setFocused(false);
+ this._handleValueAndAutoValidate(this._inputElement);
},
_onInput: function(event) {
- this._handleValue(event.target);
+ this._handleValueAndAutoValidate(event.target);
},
_onValueChanged: function(event) {
- this._handleValue(event.target);
+ this._handleValueAndAutoValidate(event.target);
},
_handleValue: function(inputElement) {
- var value = inputElement[this._propertyForValue] || inputElement.value;
-
- if (this.autoValidate) {
- var valid;
- if (inputElement.validate) {
- valid = inputElement.validate(value);
- } else {
- valid = inputElement.checkValidity();
- }
- this.invalid = !valid;
- }
+ var value = this._inputElementValue;
// type="number" hack needed because this.value is empty until it's valid
if (value || value === 0 || (inputElement.type === 'number' && !inputElement.checkValidity())) {
@@ -16827,6 +16843,21 @@ iron-selector:not(.narrow-layout) #main ::content [paper-drawer-toggle] {
});
},
+ _handleValueAndAutoValidate: function(inputElement) {
+ if (this.autoValidate) {
+ var valid;
+ if (inputElement.validate) {
+ valid = inputElement.validate(this._inputElementValue);
+ } else {
+ valid = inputElement.checkValidity();
+ }
+ this.invalid = !valid;
+ }
+
+ // Call this last to notify the add-ons.
+ this._handleValue(inputElement);
+ },
+
_onIronInputValidate: function(event) {
this.invalid = this._inputElement.invalid;
},
@@ -18123,6 +18154,11 @@ paper-ripple {
+
@@ -18686,7 +18722,6 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
-