mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-03-13 05:36:36 +00:00
Merge branch 'feature/EFUserData' of https://github.com/JPVenson/jellyfin into feature/EFUserData
This commit is contained in:
@@ -611,7 +611,7 @@ namespace Emby.Server.Implementations
|
||||
// Don't use an empty string password
|
||||
password = string.IsNullOrWhiteSpace(password) ? null : password;
|
||||
|
||||
var localCert = new X509Certificate2(path, password, X509KeyStorageFlags.UserKeySet);
|
||||
var localCert = X509CertificateLoader.LoadPkcs12FromFile(path, password, X509KeyStorageFlags.UserKeySet);
|
||||
if (!localCert.HasPrivateKey)
|
||||
{
|
||||
Logger.LogError("No private key included in SSL cert {CertificateLocation}.", path);
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
</ItemGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<TargetFramework>net9.0</TargetFramework>
|
||||
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
|
||||
<GenerateDocumentationFile>true</GenerateDocumentationFile>
|
||||
</PropertyGroup>
|
||||
|
||||
@@ -98,7 +98,6 @@ namespace Emby.Server.Implementations.Library
|
||||
{
|
||||
ArgumentNullException.ThrowIfNull(user);
|
||||
ArgumentNullException.ThrowIfNull(item);
|
||||
ArgumentNullException.ThrowIfNull(reason);
|
||||
ArgumentNullException.ThrowIfNull(userDataDto);
|
||||
|
||||
var userData = GetUserData(user, item) ?? throw new InvalidOperationException("Did not expect UserData to be null.");
|
||||
|
||||
@@ -82,13 +82,13 @@
|
||||
"UserCreatedWithName": "Användaren {0} har skapats",
|
||||
"UserDeletedWithName": "Användaren {0} har tagits bort",
|
||||
"UserDownloadingItemWithValues": "{0} laddar ner {1}",
|
||||
"UserLockedOutWithName": "Användare {0} har låsts ute",
|
||||
"UserOfflineFromDevice": "{0} har avbrutit anslutningen från {1}",
|
||||
"UserLockedOutWithName": "Användare {0} har utelåsts",
|
||||
"UserOfflineFromDevice": "{0} har kopplat ned från {1}",
|
||||
"UserOnlineFromDevice": "{0} är uppkopplad från {1}",
|
||||
"UserPasswordChangedWithName": "Lösenordet för {0} har ändrats",
|
||||
"UserPolicyUpdatedWithName": "Användarpolicyn har uppdaterats för {0}",
|
||||
"UserStartedPlayingItemWithValues": "{0} spelar upp {1} på {2}",
|
||||
"UserStoppedPlayingItemWithValues": "{0} har avslutat uppspelningen av {1} på {2}",
|
||||
"UserStartedPlayingItemWithValues": "{0} spelar {1} på {2}",
|
||||
"UserStoppedPlayingItemWithValues": "{0} har stoppat uppspelningen av {1} på {2}",
|
||||
"ValueHasBeenAddedToLibrary": "{0} har lagts till i ditt mediebibliotek",
|
||||
"ValueSpecialEpisodeName": "Specialavsnitt - {0}",
|
||||
"VersionNumber": "Version {0}",
|
||||
@@ -98,8 +98,8 @@
|
||||
"TaskRefreshChannels": "Uppdatera kanaler",
|
||||
"TaskCleanTranscodeDescription": "Raderar omkodningsfiler äldre än en dag.",
|
||||
"TaskCleanTranscode": "Rensa omkodningskatalog",
|
||||
"TaskUpdatePluginsDescription": "Laddar ned och installerar uppdateringar till tilläggsprogram som är konfigurerade att uppdateras automatiskt.",
|
||||
"TaskUpdatePlugins": "Uppdatera tilläggsprogram",
|
||||
"TaskUpdatePluginsDescription": "Laddar ned och installerar uppdateringar till tillägg som är konfigurerade att uppdateras automatiskt.",
|
||||
"TaskUpdatePlugins": "Uppdatera tillägg",
|
||||
"TaskRefreshPeopleDescription": "Uppdaterar metadata för skådespelare och regissörer i ditt mediabibliotek.",
|
||||
"TaskCleanLogsDescription": "Raderar loggfiler som är mer än {0} dagar gamla.",
|
||||
"TaskCleanLogs": "Rensa loggkatalog",
|
||||
|
||||
@@ -23,5 +23,92 @@
|
||||
"HeaderLiveTV": "Jonli TV",
|
||||
"HeaderNextUp": "Keyingisi",
|
||||
"ItemAddedWithName": "{0} kutbxonaga qo'shildi",
|
||||
"LabelIpAddressValue": "IP manzil: {0}"
|
||||
"LabelIpAddressValue": "IP manzil: {0}",
|
||||
"SubtitleDownloadFailureFromForItem": "{0} dan {1} uchun taglavhalarni yuklab boʻlmadi",
|
||||
"UserPasswordChangedWithName": "Foydalanuvchi {0} paroli oʻzgartirildi",
|
||||
"ValueHasBeenAddedToLibrary": "{0} kutubxonaga qoʻshildi",
|
||||
"TaskCleanActivityLogDescription": "Belgilangan yoshdan kattaroq faoliyat jurnali yozuvlarini oʻchiradi.",
|
||||
"TaskAudioNormalization": "Ovozni normallashtirish",
|
||||
"TaskRefreshLibraryDescription": "Media kutubxonasi yangi fayllar uchun skanerlanmoqda va metama'lumotlar yangilanmoqda.",
|
||||
"Default": "Joriy",
|
||||
"HeaderFavoriteAlbums": "Tanlangan albomlar",
|
||||
"HeaderFavoriteArtists": "Tanlangan artistlar",
|
||||
"HeaderFavoriteEpisodes": "Tanlangan epizodlar",
|
||||
"HeaderFavoriteShows": "Tanlangan shoular",
|
||||
"HeaderFavoriteSongs": "Tanlangan qo'shiqlar",
|
||||
"HeaderRecordingGroups": "Yozuvlar guruhi",
|
||||
"HomeVideos": "Uy videolari",
|
||||
"NotificationOptionVideoPlaybackStopped": "Video ijrosi toʻxtatildi",
|
||||
"TvShows": "TV seriallar",
|
||||
"Undefined": "Belgilanmagan",
|
||||
"User": "Foydalanuvchi",
|
||||
"UserCreatedWithName": "{0} foydalanuvchi yaratildi",
|
||||
"TaskCleanCacheDescription": "Tizimga kerak bo'lmagan kesh fayllari o'chiriladi.",
|
||||
"TaskAudioNormalizationDescription": "Ovozni normallashtirish ma'lumotlari uchun fayllarni skanerlaydi.",
|
||||
"PluginInstalledWithName": "{0} - o'rnatildi",
|
||||
"PluginUninstalledWithName": "{0} - o'chirildi",
|
||||
"HearingImpaired": "Yaxshi eshitmaydiganlar uchun",
|
||||
"Inherit": "Meroslangan",
|
||||
"NotificationOptionApplicationUpdateAvailable": "Ilova yangilanishi mavjud",
|
||||
"NotificationOptionApplicationUpdateInstalled": "Ilova yangilanishi oʻrnatildi",
|
||||
"LabelRunningTimeValue": "Davomiyligi",
|
||||
"NotificationOptionAudioPlayback": "Audio tinglash boshlandi",
|
||||
"NotificationOptionAudioPlaybackStopped": "Audio tinglash to'xtatildi",
|
||||
"NotificationOptionCameraImageUploaded": "Kamera tasvirlari yuklandi",
|
||||
"NotificationOptionInstallationFailed": "O'rnatishda hatolik",
|
||||
"NotificationOptionNewLibraryContent": "Yangi tarkib qo'shildi",
|
||||
"NotificationOptionPluginError": "Plagin ishdan chiqdi",
|
||||
"NotificationOptionPluginInstalled": "Plagin o'rnatildi",
|
||||
"NotificationOptionPluginUninstalled": "Plagin o'chirildi",
|
||||
"NotificationOptionPluginUpdateInstalled": "Plagin uchun yangilanish o'rnatildi",
|
||||
"NotificationOptionServerRestartRequired": "Server-ni qayta yuklash lozim",
|
||||
"NotificationOptionTaskFailed": "Rejalashtirilgan vazifa bajarilmadi",
|
||||
"NotificationOptionUserLockedOut": "Foydalanuvchi bloklangan",
|
||||
"NotificationOptionVideoPlayback": "Video ijrosi boshlandi",
|
||||
"Photos": "Surat",
|
||||
"Latest": "So'ngi",
|
||||
"MessageApplicationUpdated": "Jellyfin Server yangilandi",
|
||||
"MessageApplicationUpdatedTo": "Jellyfin Server {0} gacha yangilandi",
|
||||
"MessageNamedServerConfigurationUpdatedWithValue": "Server konfiguratsiyasi ({0}-boʻlim) yangilandi",
|
||||
"MessageServerConfigurationUpdated": "Server konfiguratsiyasi yangilandi",
|
||||
"MixedContent": "Aralashgan tarkib",
|
||||
"Movies": "Kinolar",
|
||||
"Music": "Qo'shiqlar",
|
||||
"MusicVideos": "Musiqali videolar",
|
||||
"NameInstallFailed": "Omadsiz ornatish {0}",
|
||||
"NameSeasonNumber": "{0} Fasl",
|
||||
"NameSeasonUnknown": "Fasl aniqlanmagan",
|
||||
"Playlists": "Pleylistlar",
|
||||
"NewVersionIsAvailable": "Yuklab olish uchun Jellyfin Server ning yangi versiyasi mavjud",
|
||||
"Plugin": "Plagin",
|
||||
"TaskCleanLogs": "Jurnallar katalogini tozalash",
|
||||
"PluginUpdatedWithName": "{0} - yangilandi",
|
||||
"ProviderValue": "Yetkazib beruvchi: {0}",
|
||||
"ScheduledTaskFailedWithName": "{0} - omadsiz",
|
||||
"ScheduledTaskStartedWithName": "{0} - ishga tushirildi",
|
||||
"ServerNameNeedsToBeRestarted": "Qayta yuklash kerak {0}",
|
||||
"Shows": "Teleko'rsatuv",
|
||||
"Songs": "Kompozitsiyalar",
|
||||
"StartupEmbyServerIsLoading": "Jellyfin Server yuklanmoqda. Tez orada qayta urinib koʻring.",
|
||||
"Sync": "Sinxronizatsiya",
|
||||
"System": "Tizim",
|
||||
"UserDeletedWithName": "{0} foydalanuvchisi oʻchirib tashlandi",
|
||||
"UserDownloadingItemWithValues": "{0} yuklanmoqda {1}",
|
||||
"UserLockedOutWithName": "{0} foydalanuvchisi bloklandi",
|
||||
"UserOfflineFromDevice": "{0} {1}dan uzildi",
|
||||
"UserOnlineFromDevice": "{0} {1} dan ulandi",
|
||||
"UserPolicyUpdatedWithName": "{0} foydalanuvchisining siyosatlari yangilandi",
|
||||
"UserStartedPlayingItemWithValues": "{0} - {2} da \"{1}\" ijrosi",
|
||||
"UserStoppedPlayingItemWithValues": "{0} - ijro etish to‘xtatildi {1} {2}",
|
||||
"ValueSpecialEpisodeName": "Maxsus qism – {0}",
|
||||
"VersionNumber": "Versiya {0}",
|
||||
"TasksMaintenanceCategory": "Xizmat ko'rsatish",
|
||||
"TasksLibraryCategory": "Media kutubxona",
|
||||
"TasksApplicationCategory": "Ilova",
|
||||
"TasksChannelsCategory": "Internet kanallari",
|
||||
"TaskCleanActivityLog": "Faoliyat jurnalini tozalash",
|
||||
"TaskCleanCache": "Kesh katalogini tozalash",
|
||||
"TaskRefreshChapterImages": "Sahnadan tasvirini chiqarish",
|
||||
"TaskRefreshChapterImagesDescription": "Sahnalarni o'z ichiga olgan videolar uchun eskizlarni yaratadi.",
|
||||
"TaskRefreshLibrary": "Media kutubxonangizni skanerlash"
|
||||
}
|
||||
|
||||
@@ -835,7 +835,7 @@ namespace Emby.Server.Implementations.Plugins
|
||||
/// <exception cref="ArgumentNullException">If the <see cref="LocalPlugin"/> is null.</exception>
|
||||
private bool TryGetPluginDlls(LocalPlugin plugin, out IReadOnlyList<string> whitelistedDlls)
|
||||
{
|
||||
ArgumentNullException.ThrowIfNull(nameof(plugin));
|
||||
ArgumentNullException.ThrowIfNull(plugin);
|
||||
|
||||
IReadOnlyList<string> pluginDlls = Directory.GetFiles(plugin.Path, "*.dll", SearchOption.AllDirectories);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user