commit
3051f6f067
23 changed files with 340 additions and 107 deletions
|
@ -60,7 +60,7 @@
|
|||
"serve": "webpack-dev-server --config webpack.dev.js --open",
|
||||
"build": "webpack --config webpack.prod.js",
|
||||
"lint": "eslint \"src\"",
|
||||
"stylelint": "stylelint src/**/*.css",
|
||||
"stylelint": "stylelint \"src/**/*.css\"",
|
||||
"prepare": "webpack --config webpack.prod.js"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -201,6 +201,7 @@
|
|||
|
||||
.navMenuOptionText {
|
||||
white-space: nowrap;
|
||||
margin-top: 0.25em;
|
||||
}
|
||||
|
||||
.sidebarHeader {
|
||||
|
@ -272,7 +273,25 @@
|
|||
}
|
||||
}
|
||||
|
||||
@media all and (min-width:84em) {
|
||||
@media all and (min-width: 84em) {
|
||||
.headerTop {
|
||||
padding: 0.8em 0.8em;
|
||||
}
|
||||
|
||||
.headerTabs {
|
||||
-webkit-align-self: center;
|
||||
align-self: center;
|
||||
width: auto;
|
||||
-webkit-box-align: center;
|
||||
-webkit-align-items: center;
|
||||
align-items: center;
|
||||
-webkit-box-pack: center;
|
||||
-webkit-justify-content: center;
|
||||
justify-content: center;
|
||||
position: relative;
|
||||
margin-top: -4.3em;
|
||||
}
|
||||
|
||||
.libraryPage:not(.noSecondaryNavPage) {
|
||||
padding-top: 4.6em !important;
|
||||
}
|
||||
|
@ -426,12 +445,44 @@
|
|||
|
||||
.desktopMiscInfoContainer {
|
||||
position: absolute;
|
||||
bottom: .75em
|
||||
bottom: 0.75em;
|
||||
}
|
||||
|
||||
.layout-mobile .detailPagePrimaryContainer {
|
||||
.parentName {
|
||||
display: block;
|
||||
position: relative;
|
||||
margin-bottom: 0.5em;
|
||||
}
|
||||
|
||||
.mainDetailButtons {
|
||||
display: flex;
|
||||
-webkit-box-align: center;
|
||||
-webkit-align-items: center;
|
||||
align-items: center;
|
||||
-webkit-flex-wrap: wrap;
|
||||
flex-wrap: wrap;
|
||||
margin: 1em 0;
|
||||
}
|
||||
|
||||
.detailButton,
|
||||
.mainDetailButtons {
|
||||
display: flex;
|
||||
display: -webkit-box;
|
||||
display: -webkit-flex;
|
||||
}
|
||||
|
||||
.itemName {
|
||||
margin: 0.5em 0;
|
||||
}
|
||||
|
||||
.itemMiscInfo {
|
||||
display: -webkit-box;
|
||||
display: -webkit-flex;
|
||||
display: flex;
|
||||
-webkit-flex-wrap: wrap;
|
||||
flex-wrap: wrap;
|
||||
-webkit-box-align: center;
|
||||
-webkit-align-items: center;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.layout-mobile .parentName,
|
||||
|
@ -443,14 +494,6 @@
|
|||
justify-content: center;
|
||||
}
|
||||
|
||||
.layout-mobile .infoText {
|
||||
white-space: normal;
|
||||
}
|
||||
|
||||
.layout-tv .detailPagePrimaryContainer {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.detailPagePrimaryContainer {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
@ -460,6 +503,15 @@
|
|||
z-index: 2;
|
||||
}
|
||||
|
||||
.layout-mobile .detailPagePrimaryContainer {
|
||||
display: block;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.layout-tv .detailPagePrimaryContainer {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.detailSticky {
|
||||
background-color: #101010;
|
||||
}
|
||||
|
@ -475,6 +527,10 @@
|
|||
text-align: left;
|
||||
}
|
||||
|
||||
.layout-mobile .infoText {
|
||||
white-space: normal;
|
||||
}
|
||||
|
||||
.detailPageSecondaryContainer {
|
||||
margin: 1.25em 0;
|
||||
}
|
||||
|
@ -542,9 +598,9 @@
|
|||
-webkit-box-shadow: 0 0.0725em 0.29em 0 rgba(0, 0, 0, 0.37);
|
||||
}
|
||||
|
||||
@media all and (max-width:62.5em) {
|
||||
@media all and (max-width: 62.5em) {
|
||||
.detailPageWrapperContainer {
|
||||
position: relative
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.btnPlaySimple {
|
||||
|
@ -558,11 +614,6 @@
|
|||
}
|
||||
}
|
||||
|
||||
.parentName {
|
||||
display: block;
|
||||
margin-bottom: 0.5em;
|
||||
}
|
||||
|
||||
.btnSyncComplete {
|
||||
background: #673ab7 !important;
|
||||
}
|
||||
|
@ -613,17 +664,6 @@
|
|||
}
|
||||
}
|
||||
|
||||
.detailButton,
|
||||
.mainDetailButtons {
|
||||
display: flex;
|
||||
display: -webkit-box;
|
||||
display: -webkit-flex;
|
||||
}
|
||||
|
||||
.itemName {
|
||||
margin: 0.5em 0;
|
||||
}
|
||||
|
||||
.empty {
|
||||
margin: 0;
|
||||
}
|
||||
|
@ -636,16 +676,6 @@
|
|||
margin-top: 0;
|
||||
}
|
||||
|
||||
.mainDetailButtons {
|
||||
display: flex;
|
||||
-webkit-box-align: center;
|
||||
-webkit-align-items: center;
|
||||
align-items: center;
|
||||
-webkit-flex-wrap: wrap;
|
||||
flex-wrap: wrap;
|
||||
margin: 1em 0;
|
||||
}
|
||||
|
||||
.recordingFields button {
|
||||
margin-left: 0;
|
||||
margin-right: 0.5em;
|
||||
|
@ -670,24 +700,24 @@
|
|||
padding: 0.5em 0.7em !important;
|
||||
}
|
||||
|
||||
@media all and (min-width:29em) {
|
||||
@media all and (min-width: 29em) {
|
||||
.detailButton {
|
||||
padding-left: .75em !important;
|
||||
padding-right: .75em !important
|
||||
padding-left: 0.75em !important;
|
||||
padding-right: 0.75em !important;
|
||||
}
|
||||
}
|
||||
|
||||
@media all and (min-width:32em) {
|
||||
@media all and (min-width: 32em) {
|
||||
.detailButton {
|
||||
padding-left: .8em !important;
|
||||
padding-right: .8em !important
|
||||
padding-left: 0.8em !important;
|
||||
padding-right: 0.8em !important;
|
||||
}
|
||||
}
|
||||
|
||||
@media all and (min-width:35em) {
|
||||
@media all and (min-width: 35em) {
|
||||
.detailButton {
|
||||
padding-left: .85em !important;
|
||||
padding-right: .85em !important
|
||||
padding-left: 0.85em !important;
|
||||
padding-right: 0.85em !important;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -720,7 +750,7 @@
|
|||
}
|
||||
|
||||
.detailButton-text {
|
||||
margin-top: .7em;
|
||||
margin-top: 0.7em;
|
||||
font-size: 80%;
|
||||
font-weight: 400;
|
||||
}
|
||||
|
@ -731,13 +761,14 @@
|
|||
}
|
||||
|
||||
.detailButtonHideonMobile {
|
||||
display: none !important
|
||||
display: none !important;
|
||||
}
|
||||
}
|
||||
|
||||
@media all and (min-width:62.5em) {
|
||||
@media all and (min-width: 62.5em) {
|
||||
.headerTop {
|
||||
padding: 0.8em 0
|
||||
padding-left: 0.8em;
|
||||
padding-right: 0.8em;
|
||||
}
|
||||
|
||||
.headerTabs {
|
||||
|
@ -745,7 +776,7 @@
|
|||
width: auto;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
margin-top: -3.34em;
|
||||
margin-top: -4.3em;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
|
@ -754,7 +785,7 @@
|
|||
}
|
||||
|
||||
.personBackdrop {
|
||||
display: none !important
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
.mainDetailButtons {
|
||||
|
@ -769,17 +800,6 @@
|
|||
}
|
||||
}
|
||||
|
||||
.itemMiscInfo {
|
||||
display: -webkit-box;
|
||||
display: -webkit-flex;
|
||||
display: flex;
|
||||
-webkit-flex-wrap: wrap;
|
||||
flex-wrap: wrap;
|
||||
-webkit-box-align: center;
|
||||
-webkit-align-items: center;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
@media all and (max-width: 31.25em) {
|
||||
.mobileDetails .itemMiscInfo {
|
||||
text-align: center;
|
||||
|
@ -950,7 +970,7 @@ div:not(.sectionTitleContainer-cards) > .sectionTitle-cards {
|
|||
}
|
||||
|
||||
.sectionTitleTextButton > .sectionTitle {
|
||||
margin-bottom: 0;
|
||||
margin-bottom: 0.35em;
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
|
@ -980,7 +1000,7 @@ div:not(.sectionTitleContainer-cards) > .sectionTitle-cards {
|
|||
margin-bottom: -1em;
|
||||
}
|
||||
|
||||
@media all and (min-height:31.25em) {
|
||||
@media all and (min-height: 31.25em) {
|
||||
.padded-right-withalphapicker {
|
||||
padding-right: 7.5%;
|
||||
}
|
||||
|
|
|
@ -112,7 +112,6 @@
|
|||
}
|
||||
|
||||
@media all and (min-width: 62.5em) {
|
||||
|
||||
.alphaPicker-fixed-right {
|
||||
right: 1em;
|
||||
}
|
||||
|
|
|
@ -180,6 +180,7 @@ define(['require', 'browser', 'layoutManager', 'appSettings', 'pluginManager', '
|
|||
|
||||
context.querySelector('#chkThemeSong').checked = userSettings.enableThemeSongs();
|
||||
context.querySelector('#chkThemeVideo').checked = userSettings.enableThemeVideos();
|
||||
context.querySelector('#chkFadein').checked = userSettings.enableFastFadein();
|
||||
context.querySelector('#chkBackdrops').checked = userSettings.enableBackdrops();
|
||||
|
||||
context.querySelector('#selectLanguage').value = userSettings.language() || '';
|
||||
|
@ -216,6 +217,7 @@ define(['require', 'browser', 'layoutManager', 'appSettings', 'pluginManager', '
|
|||
|
||||
userSettingsInstance.skin(context.querySelector('.selectSkin').value);
|
||||
|
||||
userSettingsInstance.enableFastFadein(context.querySelector('#chkFadein').checked);
|
||||
userSettingsInstance.enableBackdrops(context.querySelector('#chkBackdrops').checked);
|
||||
|
||||
if (user.Id === apiClient.getCurrentUserId()) {
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
<h2 class="sectionTitle">
|
||||
${Display}
|
||||
</h2>
|
||||
|
||||
<div class="selectContainer languageSection hide">
|
||||
<select id="selectLanguage" is="emby-select" label="${LabelDisplayLanguage}">
|
||||
<option value="">${Auto}</option>
|
||||
|
@ -133,6 +134,7 @@
|
|||
<div class="selectContainer selectDashboardThemeContainer hide">
|
||||
<select id="selectDashboardTheme" is="emby-select" label="${LabelDashboardTheme}"></select>
|
||||
</div>
|
||||
|
||||
<div class="selectContainer hide selectScreensaverContainer">
|
||||
<select is="emby-select" class="selectScreensaver" label="${LabelScreensaver}"></select>
|
||||
</div>
|
||||
|
@ -141,6 +143,14 @@
|
|||
<select is="emby-select" class="selectSoundEffects" label="${LabelSoundEffects}"></select>
|
||||
</div>
|
||||
|
||||
<div class="checkboxContainer checkboxContainer-withDescription fldFadein">
|
||||
<label>
|
||||
<input type="checkbox" is="emby-checkbox" id="chkFadein" />
|
||||
<span>${EnableFastImageFadeIn}</span>
|
||||
</label>
|
||||
<div class="fieldDescription checkboxFieldDescription">${EnableFastImageFadeInHelp}</div>
|
||||
</div>
|
||||
|
||||
<div class="checkboxContainer checkboxContainer-withDescription fldBackdrops hide">
|
||||
<label>
|
||||
<input type="checkbox" is="emby-checkbox" id="chkBackdrops" />
|
||||
|
@ -148,6 +158,7 @@
|
|||
</label>
|
||||
<div class="fieldDescription checkboxFieldDescription">${EnableBackdropsHelp}</div>
|
||||
</div>
|
||||
|
||||
<div class="checkboxContainer checkboxContainer-withDescription fldThemeSong hide">
|
||||
<label>
|
||||
<input type="checkbox" is="emby-checkbox" id="chkThemeSong" />
|
||||
|
@ -155,6 +166,7 @@
|
|||
</label>
|
||||
<div class="fieldDescription checkboxFieldDescription">${EnableThemeSongsHelp}</div>
|
||||
</div>
|
||||
|
||||
<div class="checkboxContainer checkboxContainer-withDescription fldThemeVideo hide">
|
||||
<label>
|
||||
<input type="checkbox" is="emby-checkbox" id="chkThemeVideo" />
|
||||
|
|
|
@ -13,6 +13,11 @@
|
|||
margin-right: 1.2em;
|
||||
}
|
||||
|
||||
.servers > .card > .cardBox {
|
||||
margin-left: 0.6em;
|
||||
margin-right: 0.6em;
|
||||
}
|
||||
|
||||
.layout-tv .emby-scroller,
|
||||
.layout-mobile .emby-scroller {
|
||||
padding-left: 3.3%;
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
.emby-tab-button {
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
background: transparent;
|
||||
box-shadow: none;
|
||||
cursor: pointer;
|
||||
|
@ -10,7 +13,7 @@
|
|||
vertical-align: middle;
|
||||
flex-shrink: 0;
|
||||
margin: 0;
|
||||
padding: 1em 0.9em;
|
||||
padding: 1.5em;
|
||||
position: relative;
|
||||
height: auto;
|
||||
min-width: initial;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
define(['lazyLoader', 'imageFetcher', 'layoutManager', 'browser', 'appSettings', 'require', 'css!./style'], function (lazyLoader, imageFetcher, layoutManager, browser, appSettings, require) {
|
||||
define(['lazyLoader', 'imageFetcher', 'layoutManager', 'browser', 'appSettings', 'userSettings', 'require', 'css!./style'], function (lazyLoader, imageFetcher, layoutManager, browser, appSettings, userSettings, require) {
|
||||
'use strict';
|
||||
|
||||
var requestIdleCallback = window.requestIdleCallback || function (fn) {
|
||||
|
@ -7,9 +7,6 @@ define(['lazyLoader', 'imageFetcher', 'layoutManager', 'browser', 'appSettings',
|
|||
|
||||
var self = {};
|
||||
|
||||
// seeing slow performance with firefox
|
||||
var enableFade = false;
|
||||
|
||||
function fillImage(elem, source, enableEffects) {
|
||||
|
||||
if (!elem) {
|
||||
|
@ -30,7 +27,7 @@ define(['lazyLoader', 'imageFetcher', 'layoutManager', 'browser', 'appSettings',
|
|||
function fillImageElement(elem, source, enableEffects) {
|
||||
imageFetcher.loadImage(elem, source).then(function () {
|
||||
|
||||
if (enableFade && enableEffects !== false) {
|
||||
if (enableEffects !== false) {
|
||||
fadeIn(elem);
|
||||
}
|
||||
|
||||
|
@ -39,10 +36,11 @@ define(['lazyLoader', 'imageFetcher', 'layoutManager', 'browser', 'appSettings',
|
|||
}
|
||||
|
||||
function fadeIn(elem) {
|
||||
|
||||
var cssClass = 'lazy-image-fadein';
|
||||
|
||||
elem.classList.add(cssClass);
|
||||
if (userSettings.enableFastFadein()) {
|
||||
elem.classList.add('lazy-image-fadein-fast');
|
||||
} else {
|
||||
elem.classList.add('lazy-image-fadein');
|
||||
}
|
||||
}
|
||||
|
||||
function lazyChildren(elem) {
|
||||
|
|
|
@ -111,6 +111,10 @@
|
|||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.layout-desktop .listItemBodyText {
|
||||
margin: 0.25em 0 0 0;
|
||||
}
|
||||
|
||||
.listItemBodyText-nowrap {
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
|
|
@ -392,20 +392,7 @@ define(["dom", "browser", "layoutManager"], function (dom, browser, layoutManage
|
|||
* Returns true if scroll manager is enabled.
|
||||
*/
|
||||
var isEnabled = function() {
|
||||
|
||||
if (!layoutManager.tv) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (browser.tizen) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (browser.web0s) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
return layoutManager.tv;
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
@ -21,8 +21,8 @@
|
|||
border: 0;
|
||||
}
|
||||
|
||||
.emby-input:required {
|
||||
box-shadow: none;
|
||||
.emby-input:required {
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.inputContainer {
|
||||
|
|
|
@ -120,6 +120,15 @@ define(['appSettings', 'events'], function (appSettings, events) {
|
|||
return val !== 'false';
|
||||
};
|
||||
|
||||
UserSettings.prototype.enableFastFadein = function (val) {
|
||||
if (val != null) {
|
||||
return this.set('fastFadein', val.toString(), false);
|
||||
}
|
||||
|
||||
val = this.get('fastFadein', false);
|
||||
return val !== 'false';
|
||||
};
|
||||
|
||||
UserSettings.prototype.enableBackdrops = function (val) {
|
||||
if (val != null) {
|
||||
return this.set('enableBackdrops', val.toString(), false);
|
||||
|
|
|
@ -836,6 +836,8 @@
|
|||
"LabelSecureConnectionsMode": "Secure connection mode:",
|
||||
"LabelSeasonNumber": "Season number:",
|
||||
"LabelScreensaver": "Screensaver:",
|
||||
"EnableFastImageFadeIn": "Fast image fade-in",
|
||||
"EnableFastImageFadeInHelp": "Enable faster fade-in animation for loaded images",
|
||||
"LabelScheduledTaskLastRan": "Last ran {0}, taking {1}.",
|
||||
"LabelSaveLocalMetadataHelp": "Saving artwork into media folders will put them in a place where they can be easily edited.",
|
||||
"LabelRuntimeMinutes": "Run time (minutes):",
|
||||
|
|
|
@ -797,6 +797,8 @@
|
|||
"LabelSaveLocalMetadataHelp": "Saving artwork into media folders will put them in a place where they can be easily edited.",
|
||||
"LabelScheduledTaskLastRan": "Last ran {0}, taking {1}.",
|
||||
"LabelScreensaver": "Screensaver:",
|
||||
"EnableFastImageFadeIn": "Fast image fade-in",
|
||||
"EnableFastImageFadeInHelp": "Enable faster fade-in animation for loaded images",
|
||||
"LabelSeasonNumber": "Season number:",
|
||||
"LabelSecureConnectionsMode": "Secure connection mode:",
|
||||
"LabelSelectFolderGroups": "Automatically group content from the following folders into views such as Movies, Music and TV:",
|
||||
|
|
|
@ -1461,5 +1461,9 @@
|
|||
"OptionRandom": "Aleatorio",
|
||||
"SelectAdminUsername": "Por favor seleccione un nombre de usuario para la cuenta de administrador.",
|
||||
"ButtonSplit": "Dividir",
|
||||
"HeaderNavigation": "Navegación"
|
||||
"HeaderNavigation": "Navegación",
|
||||
"MessageConfirmAppExit": "¿Quieres salir?",
|
||||
"EnableFastImageFadeInHelp": "Las imágenes que hayan terminado de cargarse mostrarán una pequeña animación",
|
||||
"EnableFastImageFadeIn": "Cargar las imágenes suavemente",
|
||||
"CopyStreamURLError": "Ha habido un error copiando la dirección."
|
||||
}
|
||||
|
|
|
@ -47,5 +47,158 @@
|
|||
"HeaderAlbumArtists": "Album Artis",
|
||||
"HeaderContinueWatching": "Masih Melihat",
|
||||
"Artists": "Artis",
|
||||
"HeaderLiveTV": "TV Live"
|
||||
"HeaderLiveTV": "TV Live",
|
||||
"AllowMediaConversion": "Izinkan konversi media",
|
||||
"AllEpisodes": "Semua episode",
|
||||
"AllChannels": "Semua saluran",
|
||||
"All": "Semua",
|
||||
"Add": "Tambah",
|
||||
"Actor": "Aktor",
|
||||
"Delete": "Hapus",
|
||||
"DefaultMetadataLangaugeDescription": "Berikut ini adalah standar Anda dan dapat dikustomisasi pada tiap pustakanya.",
|
||||
"DefaultErrorMessage": "Terdapat galat dalam memproses permintaan. Silakan coba kembali nanti.",
|
||||
"Default": "Standar",
|
||||
"DeathDateValue": "Meninggal: {0}",
|
||||
"DatePlayed": "Tanggal dimainkan",
|
||||
"DateAdded": "Tanggal ditambahkan",
|
||||
"CriticRating": "Kritik peringkat",
|
||||
"CopyStreamURLError": "Terdapat galat dalam penyalinan pranala.",
|
||||
"CopyStreamURLSuccess": "Pranala berhasil disalin.",
|
||||
"CopyStreamURL": "Salin Pranala Stream",
|
||||
"Continuing": "Melanjutkan",
|
||||
"ContinueWatching": "Lanjutkan menonton",
|
||||
"Connect": "Sambung",
|
||||
"ConfirmEndPlayerSession": "Apakah Anda ingin mematikan Jellyfin pada {0}?",
|
||||
"ConfirmDeletion": "Konfirmasi Penghapusan",
|
||||
"ConfirmDeleteItems": "Penghapusan item-item ini akan menghapus baik pada sistem berkas maupun pustaka media Anda. Apakah Anda yakin untuk melanjutkan?",
|
||||
"ConfirmDeleteItem": "Penghapusan item ini akan menghapus baik pada sistem berkas maupun pustaka media Anda. Apakah Anda yakin untuk melanjutkan?",
|
||||
"ConfirmDeleteImage": "Hapus gambar?",
|
||||
"ConfigureDateAdded": "Atur cara penentuan penambahan tanggal dalam dasbor Peladen Jellyfin lewat pengaturan Pustaka",
|
||||
"Composer": "Komposer",
|
||||
"CommunityRating": "Peringkat komunitas",
|
||||
"ChannelNumber": "Nomor saluran",
|
||||
"ChannelNameOnly": "Hanya saluran {0}",
|
||||
"ChannelAccessHelp": "Pilih saluran untuk dibagikan ke pengguna ini. Admin akan dapat mengubah seluruh saluran menggunakan pengelola metadata.",
|
||||
"Categories": "Kategori",
|
||||
"CancelRecording": "Batalkan perekaman",
|
||||
"ButtonWebsite": "Situs web",
|
||||
"ButtonViewWebsite": "Tampilkan situs web",
|
||||
"ButtonUp": "Atas",
|
||||
"ButtonTrailer": "Cuplikan",
|
||||
"ButtonSubmit": "Kirim",
|
||||
"ButtonStop": "Berhenti",
|
||||
"ButtonStart": "Mulai",
|
||||
"ButtonSort": "Urutkan",
|
||||
"ButtonSignIn": "Masuk",
|
||||
"ButtonShutdown": "Matikan",
|
||||
"ButtonShuffle": "Acak",
|
||||
"ButtonSettings": "Pengaturan",
|
||||
"ButtonSend": "Kirim",
|
||||
"ButtonSelectView": "Pilih tampilan",
|
||||
"ButtonSelectServer": "Pilih Peladen",
|
||||
"ButtonSelectDirectory": "Pilih Direktori",
|
||||
"ButtonSearch": "Cari",
|
||||
"ButtonScanAllLibraries": "Pindai Semua Pustaka",
|
||||
"ButtonSave": "Simpan",
|
||||
"ButtonResume": "Lanjutkan",
|
||||
"ButtonResetPassword": "Atur ulang Kata sandi",
|
||||
"ButtonResetEasyPassword": "Atur ulang kode pin mudah",
|
||||
"ButtonRepeat": "Ulangi",
|
||||
"ButtonRename": "Ubah nama",
|
||||
"ButtonRemove": "Hapus",
|
||||
"ButtonRefreshGuideData": "Muat ulang Data Panduan",
|
||||
"ButtonRefresh": "Muat ulang",
|
||||
"ButtonProfile": "Profil",
|
||||
"ButtonPlay": "Mainkan",
|
||||
"ButtonPause": "Jeda",
|
||||
"ButtonParentalControl": "Kendali orang tua",
|
||||
"ButtonOpen": "Buka",
|
||||
"ButtonOk": "Baik",
|
||||
"ButtonOff": "Matikan",
|
||||
"ButtonNew": "Baru",
|
||||
"ButtonNetwork": "Jaringan",
|
||||
"ButtonMore": "Lebih banyak",
|
||||
"ButtonLibraryAccess": "Akses pustaka",
|
||||
"ButtonLearnMore": "Pelajari lebih lanjut",
|
||||
"ButtonInfo": "Info",
|
||||
"ButtonHome": "Beranda",
|
||||
"ButtonHelp": "Bantuan",
|
||||
"ButtonGuide": "Panduan",
|
||||
"ButtonGotIt": "Paham",
|
||||
"ButtonFullscreen": "Layar penuh",
|
||||
"ButtonForgotPassword": "Lupa Kata Sandi",
|
||||
"ButtonFilter": "Penyaring",
|
||||
"ButtonEditOtherUserPreferences": "Ubah profil, gambar, dan preferensi pribadi pengguna ini.",
|
||||
"ButtonEditImages": "Ubah gambar",
|
||||
"ButtonEdit": "Ubah",
|
||||
"ButtonDownload": "Unduh",
|
||||
"ButtonDown": "Bawah",
|
||||
"ButtonDeleteImage": "Hapus Gambar",
|
||||
"ButtonDelete": "Hapus",
|
||||
"ButtonConnect": "Sambung",
|
||||
"ButtonChangeServer": "Ubah Peladen",
|
||||
"ButtonCancel": "Batalkan",
|
||||
"ButtonBack": "Kembali",
|
||||
"ButtonAudioTracks": "Trek Audio",
|
||||
"ButtonArrowUp": "Atas",
|
||||
"ButtonArrowRight": "Kanan",
|
||||
"ButtonArrowLeft": "Kiri",
|
||||
"ButtonArrowDown": "Turun",
|
||||
"ButtonAddUser": "Tambah Pengguna",
|
||||
"ButtonAddServer": "Tambah Peladen",
|
||||
"ButtonAddScheduledTaskTrigger": "Tambah Pemicu",
|
||||
"ButtonAddMediaLibrary": "Tambah Pustaka Media",
|
||||
"ButtonAddImage": "Tamba gambar",
|
||||
"ButtonAdd": "Tambah",
|
||||
"BrowsePluginCatalogMessage": "Jelajahi katalog plugin kamu untuk melihat plugin yang tersedia.",
|
||||
"Browse": "Jelajah",
|
||||
"BoxRear": "Kotak (belakang)",
|
||||
"Box": "Kotak",
|
||||
"BookLibraryHelp": "Buku audio dan teks didukung. Perhatikan {0}panduan penamaan buku{1}.",
|
||||
"Blacklist": "Daftar hitam",
|
||||
"BirthPlaceValue": "Tempat lahir: {0}",
|
||||
"BirthLocation": "Tempat lahir",
|
||||
"BirthDateValue": "Lahir: {0}",
|
||||
"Banner": "Spanduk",
|
||||
"Backdrops": "Latar belakang",
|
||||
"Backdrop": "Latar belakang",
|
||||
"AutoBasedOnLanguageSetting": "Auto (berdasarkan pengaturan bahasa)",
|
||||
"Auto": "Auto",
|
||||
"AuthProviderHelp": "Pilih Penyedia Autentikasi yang akan digunakan untuk mengautentikasi kata sandi pengguna ini.",
|
||||
"Audio": "Audio",
|
||||
"AttributeNew": "Baru",
|
||||
"AspectRatio": "Rasio perbandingan",
|
||||
"Ascending": "Urutan naik",
|
||||
"AsManyAsPossible": "Sebanyak mungkin",
|
||||
"Art": "Seni",
|
||||
"AroundTime": "Sekitar {0}",
|
||||
"Anytime": "Kapanpun",
|
||||
"AnyLanguage": "Bahasa apapun",
|
||||
"AlwaysPlaySubtitlesHelp": "Talop yang cocok dengan preferensi bahasa akan dimuat tanpa memperhatikan bahasa suaranya.",
|
||||
"AlwaysPlaySubtitles": "Selalu putar talop",
|
||||
"AllowedRemoteAddressesHelp": "Daftar yang dipisahkan dengan koma dari alamat IP atau catatan netmask untuk jaringan yang akan diperbolehkan untuk tersambuh dari jarak jauh. Jika dibiarkan kosong, seluruh alamat jarak jauh akan diperbolehkan.",
|
||||
"AllowRemoteAccessHelp": "Jika centang dihapus, semua koneksi jarak jauh akan diblokir.",
|
||||
"AllowRemoteAccess": "Izinkan koneksi jarak jauh ke Peladen Jellyfin ini.",
|
||||
"AllowOnTheFlySubtitleExtraction": "Izinkan ekstraksi talop dengan cepat",
|
||||
"AllowMediaConversionHelp": "Izinkan atau tolak akses ke fitur konversi media.",
|
||||
"AllLibraries": "Semua pustaka",
|
||||
"AllLanguages": "Semua bahasa",
|
||||
"AllComplexFormats": "Semua format kompleks (ASS, SSA, VOBSUB, PGS, SUB/IDK, dll.)",
|
||||
"Channels": "Saluran",
|
||||
"Aired": "Disiarkan",
|
||||
"AirDate": "Tanggal siaran",
|
||||
"AdditionalNotificationServices": "Jelajahi katalog plugin untuk memasang layanan pemberitahuan tambahan.",
|
||||
"AddToPlaylist": "Tambah ke dalam daftar putar",
|
||||
"AddToPlayQueue": "Tambah ke dalam antrean putar",
|
||||
"AddToCollection": "Tambah ke dalam koleksi",
|
||||
"AddItemToCollectionHelp": "Tambahkan item ke dalam koleksi melalui pencarian dan gunakan klik kanan atau ketuk menu untuk menambahkannya ke dalam koleksi.",
|
||||
"AccessRestrictedTryAgainLater": "Akses sedang dibatas. Silakan coba kembali nanti.",
|
||||
"Absolute": "Mutlak",
|
||||
"Songs": "Lagu",
|
||||
"Playlists": "Daftar putar",
|
||||
"ValueSpecialEpisodeName": "Spesial - {0}",
|
||||
"Sync": "Sinkron",
|
||||
"Shows": "Tayangan",
|
||||
"Photos": "Foto",
|
||||
"Movies": "Film"
|
||||
}
|
||||
|
|
|
@ -595,7 +595,7 @@
|
|||
"LabelIconMaxHeight": "Altezza icona massima:",
|
||||
"LabelIconMaxHeightHelp": "Risoluzione massima delle icone inviate tramite upnp:icon.",
|
||||
"LabelIconMaxWidth": "Larghezza massima icona:",
|
||||
"LabelIconMaxWidthHelp": "Risoluzione massima delle icone inviate tramite upnp:icon.",
|
||||
"LabelIconMaxWidthHelp": "Risoluzione massima delle icone esposte tramite upnp:icon.",
|
||||
"LabelIdentificationFieldHelp": "Una stringa o espressione regex sensibile a maiuscole e minuscole.",
|
||||
"LabelImageFetchersHelp": "Abilitare e classificare i tuoi Fetchers immagini preferite in ordine di priorità.",
|
||||
"LabelImageType": "Tipo immagine:",
|
||||
|
@ -607,7 +607,7 @@
|
|||
"LabelKidsCategories": "Categorie bambini:",
|
||||
"LabelKodiMetadataDateFormat": "Data di uscita Formato:",
|
||||
"LabelKodiMetadataDateFormatHelp": "Tutte le date all'interno dei files NFO verranno analizzate utilizzando questo formato.",
|
||||
"LabelKodiMetadataEnableExtraThumbs": "Copia extrafanart in extrathumbs",
|
||||
"LabelKodiMetadataEnableExtraThumbs": "Copia extrafanart nel campo extrathumbs",
|
||||
"LabelKodiMetadataEnableExtraThumbsHelp": "Copia extrafanart in extrathumbs",
|
||||
"LabelKodiMetadataEnablePathSubstitution": "Abilita sostituzione di percorso",
|
||||
"LabelKodiMetadataEnablePathSubstitutionHelp": "Consente percorso sostituzione dei percorsi delle immagini utilizzando le impostazioni di sostituzione percorso del server.",
|
||||
|
@ -1456,5 +1456,7 @@
|
|||
"OptionRandom": "Casuale",
|
||||
"MessageConfirmAppExit": "Vuoi uscire?",
|
||||
"HeaderNavigation": "Navigazione",
|
||||
"CopyStreamURLError": "Si è verificato un errore nel copiare l'indirizzo."
|
||||
"CopyStreamURLError": "Si è verificato un errore nel copiare l'indirizzo.",
|
||||
"EnableFastImageFadeInHelp": "Abilita la dissolvenza veloce per le immagini caricate",
|
||||
"EnableFastImageFadeIn": "Dissolvenza immagine veloce"
|
||||
}
|
||||
|
|
|
@ -1454,5 +1454,9 @@
|
|||
"Raised": "Hevet",
|
||||
"ButtonSplit": "Del opp",
|
||||
"SelectAdminUsername": "Vennligst velg et brukernavn for administrator-kontoen.",
|
||||
"HeaderNavigation": "Navigering"
|
||||
"HeaderNavigation": "Navigering",
|
||||
"MessageConfirmAppExit": "Vil du avslutte?",
|
||||
"EnableFastImageFadeInHelp": "Bruk rask inntoning av animasjon for lastede bilder",
|
||||
"EnableFastImageFadeIn": "Rask bilde inntoning",
|
||||
"CopyStreamURLError": "Det var en feil under kopiering av URL'en."
|
||||
}
|
||||
|
|
|
@ -1455,5 +1455,7 @@
|
|||
"SystemDlnaProfilesHelp": "Profilele de sistem pot fi numai citite. Modificările aduse unui profil de sistem vor fi salvate într-un nou profil personalizat.",
|
||||
"HeaderNavigation": "Navigare",
|
||||
"MessageConfirmAppExit": "Vrei să ieși?",
|
||||
"CopyStreamURLError": "A apărut o eroare la copierea adresei URL."
|
||||
"CopyStreamURLError": "A apărut o eroare la copierea adresei URL.",
|
||||
"EnableFastImageFadeInHelp": "Activați animația mai rapidă de tranziție pentru imaginile încărcate",
|
||||
"EnableFastImageFadeIn": "Tranziție a imaginii rapidă"
|
||||
}
|
||||
|
|
|
@ -1455,5 +1455,14 @@
|
|||
"HeaderDirectPlayProfileHelp": "Pridať direct play profil pre definovanie, ktorý formát môže zariadenie natívne zvládnuť.",
|
||||
"LabelInNetworkSignInWithEasyPasswordHelp": "Použite jednoduchý PIN kód na prihlásenie v klientoch vo vnútri lokálnej siete. Vaše bežné heslo bude potrebné len pokiaľ ste mimo domova. Pokiaľ je PIN kód ponechaný prázdny, tak nebude potrebovať heslo vo vašej domácej sieti.",
|
||||
"EasyPasswordHelp": "Váš jednoduchý PIN kód sa dá používať v režime offline na podporovaných zariadeniach a taktiež môže byť použitý ako jednoduché prihlásenie v lokálnej sieti.",
|
||||
"HeaderNavigation": "Navigácia"
|
||||
"HeaderNavigation": "Navigácia",
|
||||
"MessageConfirmAppExit": "Chceli by ste odísiť?",
|
||||
"LabelVideoResolution": "Rozlíšenie videa:",
|
||||
"LabelStreamType": "Typ streamu:",
|
||||
"EnableFastImageFadeInHelp": "Povoliť animáciu rýchleho rozjasnenia pre nahrané obrázky",
|
||||
"EnableFastImageFadeIn": "Rýchle rozjasnenie obrázku",
|
||||
"LabelPlayerDimensions": "Rozmery prehrávača:",
|
||||
"LabelDroppedFrames": "Vynechané snímky:",
|
||||
"LabelCorruptedFrames": "Poškodené snímky:",
|
||||
"CopyStreamURLError": "Pri kopírovaní URL nastala chyba."
|
||||
}
|
||||
|
|
|
@ -1464,5 +1464,9 @@
|
|||
"OptionRandom": "随机",
|
||||
"ButtonSplit": "拆分",
|
||||
"SelectAdminUsername": "请为管理员账户选择一个用户名。",
|
||||
"HeaderNavigation": "导航"
|
||||
"HeaderNavigation": "导航",
|
||||
"CopyStreamURLError": "复制URL地址时发生错误。",
|
||||
"MessageConfirmAppExit": "你要退出吗?",
|
||||
"EnableFastImageFadeIn": "快速图片淡入",
|
||||
"EnableFastImageFadeInHelp": "为加载图片启用更快的图片淡入"
|
||||
}
|
||||
|
|
|
@ -1369,7 +1369,7 @@
|
|||
"LabelUserLibraryHelp": "選擇在裝置上顯示的使用者媒體庫,留空則使用預設設定值。",
|
||||
"LabelUserLoginAttemptsBeforeLockout": "使用者被封鎖前可嘗試的次數:",
|
||||
"LabelVaapiDeviceHelp": "此渲染節點用來硬體加速。",
|
||||
"LabelWeb": "網站: ",
|
||||
"LabelWeb": "網站:",
|
||||
"LabelXDlnaCapHelp": "決定在 urn:schemas-dlna-org:device-1-0 namespace 中的 X_DLNACAP 元素的內容。",
|
||||
"LabelXDlnaDocHelp": "決定在 urn:schemas-dlna-org:device-1-0 namespace 中的 X-Dlna doc 元素的內容。",
|
||||
"LaunchWebAppOnStartup": "在啟動伺服器時啟動使用者介面",
|
||||
|
@ -1624,5 +1624,9 @@
|
|||
"PlaceFavoriteChannelsAtBeginning": "將喜愛的頻道置頂",
|
||||
"PlaybackData": "恢復播放資料",
|
||||
"OptionRandom": "隨機",
|
||||
"HeaderFavoritePeople": "最愛人物"
|
||||
"HeaderFavoritePeople": "最愛人物",
|
||||
"XmlDocumentAttributeListHelp": "這些屬性會在每一個XML回應的根元素上應用。",
|
||||
"SkipEpisodesAlreadyInMyLibraryHelp": "劇集將使用季和劇集編號進行比較。",
|
||||
"SelectAdminUsername": "請為管理員賬戶選擇一個用戶名。",
|
||||
"CopyStreamURLError": "複製網址的時候發生錯誤."
|
||||
}
|
||||
|
|
|
@ -311,6 +311,14 @@ html {
|
|||
|
||||
.emby-tab-button-active {
|
||||
color: #fff;
|
||||
border-bottom: 2px solid #fff;
|
||||
padding-top: 1.55em;
|
||||
padding-bottom: 1.38em;
|
||||
}
|
||||
|
||||
.layout-mobile .emby-tab-button-active {
|
||||
padding-top: 1.56em; /* Add one pixel to get a better fit in mobile layout */
|
||||
padding-bottom: 1.38em;
|
||||
}
|
||||
|
||||
.emby-tab-button.show-focus:focus {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue