mirror of
https://github.com/jellyfin/jellyfin.git
synced 2025-05-30 19:55:08 -04:00
Merge branch 'master' into logging-migration
This commit is contained in:
commit
ae9948ce04
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"Albums": "Album",
|
"Albums": "Album",
|
||||||
"AppDeviceValues": "App: {0}, Enhet: {1}",
|
"AppDeviceValues": "Applikation: {0}, Enhet: {1}",
|
||||||
"Application": "App",
|
"Application": "Applikation",
|
||||||
"Artists": "Artister",
|
"Artists": "Artister",
|
||||||
"AuthenticationSucceededWithUserName": "{0} har autentiserats",
|
"AuthenticationSucceededWithUserName": "{0} har autentiserats",
|
||||||
"Books": "Böcker",
|
"Books": "Böcker",
|
||||||
@ -16,7 +16,7 @@
|
|||||||
"Folders": "Mappar",
|
"Folders": "Mappar",
|
||||||
"Genres": "Genrer",
|
"Genres": "Genrer",
|
||||||
"HeaderAlbumArtists": "Albumartister",
|
"HeaderAlbumArtists": "Albumartister",
|
||||||
"HeaderCameraUploads": "Kamera Uppladdningar",
|
"HeaderCameraUploads": "Kamerauppladdningar",
|
||||||
"HeaderContinueWatching": "Fortsätt kolla",
|
"HeaderContinueWatching": "Fortsätt kolla",
|
||||||
"HeaderFavoriteAlbums": "Favoritalbum",
|
"HeaderFavoriteAlbums": "Favoritalbum",
|
||||||
"HeaderFavoriteArtists": "Favoritartister",
|
"HeaderFavoriteArtists": "Favoritartister",
|
||||||
@ -34,9 +34,9 @@
|
|||||||
"LabelRunningTimeValue": "Speltid: {0}",
|
"LabelRunningTimeValue": "Speltid: {0}",
|
||||||
"Latest": "Senaste",
|
"Latest": "Senaste",
|
||||||
"MessageApplicationUpdated": "Jellyfin Server har uppdaterats",
|
"MessageApplicationUpdated": "Jellyfin Server har uppdaterats",
|
||||||
"MessageApplicationUpdatedTo": "Jellyfin Server har uppgraderats till {0}",
|
"MessageApplicationUpdatedTo": "Jellyfin Server har uppdaterats till {0}",
|
||||||
"MessageNamedServerConfigurationUpdatedWithValue": "Serverinställningarna {0} har uppdaterats",
|
"MessageNamedServerConfigurationUpdatedWithValue": "Serverinställningarna {0} har uppdaterats",
|
||||||
"MessageServerConfigurationUpdated": "Server konfigurationen har uppdaterats",
|
"MessageServerConfigurationUpdated": "Serverkonfigurationen har uppdaterats",
|
||||||
"MixedContent": "Blandat innehåll",
|
"MixedContent": "Blandat innehåll",
|
||||||
"Movies": "Filmer",
|
"Movies": "Filmer",
|
||||||
"Music": "Musik",
|
"Music": "Musik",
|
||||||
@ -44,11 +44,11 @@
|
|||||||
"NameInstallFailed": "{0} installationen misslyckades",
|
"NameInstallFailed": "{0} installationen misslyckades",
|
||||||
"NameSeasonNumber": "Säsong {0}",
|
"NameSeasonNumber": "Säsong {0}",
|
||||||
"NameSeasonUnknown": "Okänd säsong",
|
"NameSeasonUnknown": "Okänd säsong",
|
||||||
"NewVersionIsAvailable": "En ny version av Jellyfin Server är klar för nedladdning.",
|
"NewVersionIsAvailable": "En ny version av Jellyfin Server är tillgänglig att hämta.",
|
||||||
"NotificationOptionApplicationUpdateAvailable": "Ny programversion tillgänglig",
|
"NotificationOptionApplicationUpdateAvailable": "Ny programversion tillgänglig",
|
||||||
"NotificationOptionApplicationUpdateInstalled": "Programuppdatering installerad",
|
"NotificationOptionApplicationUpdateInstalled": "Programuppdatering installerad",
|
||||||
"NotificationOptionAudioPlayback": "Ljuduppspelning har påbörjats",
|
"NotificationOptionAudioPlayback": "Ljuduppspelning har påbörjats",
|
||||||
"NotificationOptionAudioPlaybackStopped": "Ljuduppspelning stoppad",
|
"NotificationOptionAudioPlaybackStopped": "Ljuduppspelning stoppades",
|
||||||
"NotificationOptionCameraImageUploaded": "Kamerabild har laddats upp",
|
"NotificationOptionCameraImageUploaded": "Kamerabild har laddats upp",
|
||||||
"NotificationOptionInstallationFailed": "Fel vid installation",
|
"NotificationOptionInstallationFailed": "Fel vid installation",
|
||||||
"NotificationOptionNewLibraryContent": "Nytt innehåll har lagts till",
|
"NotificationOptionNewLibraryContent": "Nytt innehåll har lagts till",
|
||||||
@ -60,7 +60,7 @@
|
|||||||
"NotificationOptionTaskFailed": "Schemalagd aktivitet har misslyckats",
|
"NotificationOptionTaskFailed": "Schemalagd aktivitet har misslyckats",
|
||||||
"NotificationOptionUserLockedOut": "Användare har låsts ut",
|
"NotificationOptionUserLockedOut": "Användare har låsts ut",
|
||||||
"NotificationOptionVideoPlayback": "Videouppspelning har påbörjats",
|
"NotificationOptionVideoPlayback": "Videouppspelning har påbörjats",
|
||||||
"NotificationOptionVideoPlaybackStopped": "Videouppspelning stoppad",
|
"NotificationOptionVideoPlaybackStopped": "Videouppspelning stoppades",
|
||||||
"Photos": "Bilder",
|
"Photos": "Bilder",
|
||||||
"Playlists": "Spellistor",
|
"Playlists": "Spellistor",
|
||||||
"Plugin": "Tillägg",
|
"Plugin": "Tillägg",
|
||||||
@ -69,13 +69,13 @@
|
|||||||
"PluginUpdatedWithName": "{0} uppdaterades",
|
"PluginUpdatedWithName": "{0} uppdaterades",
|
||||||
"ProviderValue": "Källa: {0}",
|
"ProviderValue": "Källa: {0}",
|
||||||
"ScheduledTaskFailedWithName": "{0} misslyckades",
|
"ScheduledTaskFailedWithName": "{0} misslyckades",
|
||||||
"ScheduledTaskStartedWithName": "{0} startad",
|
"ScheduledTaskStartedWithName": "{0} startades",
|
||||||
"ServerNameNeedsToBeRestarted": "{0} behöver startas om",
|
"ServerNameNeedsToBeRestarted": "{0} behöver startas om",
|
||||||
"Shows": "Serier",
|
"Shows": "Serier",
|
||||||
"Songs": "Låtar",
|
"Songs": "Låtar",
|
||||||
"StartupEmbyServerIsLoading": "Jellyfin server arbetar. Pröva igen inom kort.",
|
"StartupEmbyServerIsLoading": "Jellyfin Server arbetar. Pröva igen snart.",
|
||||||
"SubtitleDownloadFailureForItem": "Nerladdning av undertexter för {0} misslyckades",
|
"SubtitleDownloadFailureForItem": "Nerladdning av undertexter för {0} misslyckades",
|
||||||
"SubtitleDownloadFailureFromForItem": "Undertexter misslyckades att ladda ner {0} för {1}",
|
"SubtitleDownloadFailureFromForItem": "Undertexter kunde inte laddas ner från {0} för {1}",
|
||||||
"SubtitlesDownloadedForItem": "Undertexter har laddats ner till {0}",
|
"SubtitlesDownloadedForItem": "Undertexter har laddats ner till {0}",
|
||||||
"Sync": "Synk",
|
"Sync": "Synk",
|
||||||
"System": "System",
|
"System": "System",
|
||||||
@ -89,9 +89,9 @@
|
|||||||
"UserOnlineFromDevice": "{0} är uppkopplad från {1}",
|
"UserOnlineFromDevice": "{0} är uppkopplad från {1}",
|
||||||
"UserPasswordChangedWithName": "Lösenordet för {0} har ändrats",
|
"UserPasswordChangedWithName": "Lösenordet för {0} har ändrats",
|
||||||
"UserPolicyUpdatedWithName": "Användarpolicyn har uppdaterats för {0}",
|
"UserPolicyUpdatedWithName": "Användarpolicyn har uppdaterats för {0}",
|
||||||
"UserStartedPlayingItemWithValues": "{0} har börjat spela upp {1}",
|
"UserStartedPlayingItemWithValues": "{0} spelar upp {1} på {2}",
|
||||||
"UserStoppedPlayingItemWithValues": "{0} har avslutat uppspelningen av {1}",
|
"UserStoppedPlayingItemWithValues": "{0} har avslutat uppspelningen av {1} på {2}",
|
||||||
"ValueHasBeenAddedToLibrary": "{0} har blivit tillagd till ditt mediabibliotek",
|
"ValueHasBeenAddedToLibrary": "{0} har lagts till i ditt mediebibliotek",
|
||||||
"ValueSpecialEpisodeName": "Specialavsnitt - {0}",
|
"ValueSpecialEpisodeName": "Specialavsnitt - {0}",
|
||||||
"VersionNumber": "Version {0}"
|
"VersionNumber": "Version {0}"
|
||||||
}
|
}
|
||||||
|
@ -17,14 +17,14 @@
|
|||||||
"Genres": "风格",
|
"Genres": "风格",
|
||||||
"HeaderAlbumArtists": "专辑作家",
|
"HeaderAlbumArtists": "专辑作家",
|
||||||
"HeaderCameraUploads": "相机上传",
|
"HeaderCameraUploads": "相机上传",
|
||||||
"HeaderContinueWatching": "继续观看",
|
"HeaderContinueWatching": "继续观影",
|
||||||
"HeaderFavoriteAlbums": "收藏的专辑",
|
"HeaderFavoriteAlbums": "收藏的专辑",
|
||||||
"HeaderFavoriteArtists": "最爱的艺术家",
|
"HeaderFavoriteArtists": "最爱的艺术家",
|
||||||
"HeaderFavoriteEpisodes": "最爱的剧集",
|
"HeaderFavoriteEpisodes": "最爱的剧集",
|
||||||
"HeaderFavoriteShows": "最爱的节目",
|
"HeaderFavoriteShows": "最爱的节目",
|
||||||
"HeaderFavoriteSongs": "最爱的歌曲",
|
"HeaderFavoriteSongs": "最爱的歌曲",
|
||||||
"HeaderLiveTV": "电视直播",
|
"HeaderLiveTV": "电视直播",
|
||||||
"HeaderNextUp": "下一步",
|
"HeaderNextUp": "接下来",
|
||||||
"HeaderRecordingGroups": "录制组",
|
"HeaderRecordingGroups": "录制组",
|
||||||
"HomeVideos": "家庭视频",
|
"HomeVideos": "家庭视频",
|
||||||
"Inherit": "继承",
|
"Inherit": "继承",
|
||||||
|
@ -15,7 +15,7 @@ namespace Jellyfin.Server.Migrations
|
|||||||
|
|
||||||
#pragma warning disable CA1819 // Properties should not return arrays
|
#pragma warning disable CA1819 // Properties should not return arrays
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets he list of applied migration routine names.
|
/// Gets or sets the list of applied migration routine names.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string[] Applied { get; set; }
|
public string[] Applied { get; set; }
|
||||||
#pragma warning restore CA1819 // Properties should not return arrays
|
#pragma warning restore CA1819 // Properties should not return arrays
|
||||||
|
@ -6,7 +6,7 @@ using Microsoft.Extensions.Logging;
|
|||||||
namespace Jellyfin.Server.Migrations
|
namespace Jellyfin.Server.Migrations
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// The class that knows how migrate between different Jellyfin versions.
|
/// The class that knows which migrations to apply and how to apply them.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public sealed class MigrationRunner
|
public sealed class MigrationRunner
|
||||||
{
|
{
|
||||||
@ -29,7 +29,7 @@ namespace Jellyfin.Server.Migrations
|
|||||||
var logger = loggerFactory.CreateLogger<MigrationRunner>();
|
var logger = loggerFactory.CreateLogger<MigrationRunner>();
|
||||||
var migrationOptions = ((IConfigurationManager)host.ServerConfigurationManager).GetConfiguration<MigrationOptions>(MigrationsListStore.StoreKey);
|
var migrationOptions = ((IConfigurationManager)host.ServerConfigurationManager).GetConfiguration<MigrationOptions>(MigrationsListStore.StoreKey);
|
||||||
|
|
||||||
if (!host.ServerConfigurationManager.Configuration.IsStartupWizardCompleted)
|
if (!host.ServerConfigurationManager.Configuration.IsStartupWizardCompleted && migrationOptions.Applied.Length == 0)
|
||||||
{
|
{
|
||||||
// If startup wizard is not finished, this is a fresh install.
|
// If startup wizard is not finished, this is a fresh install.
|
||||||
// Don't run any migrations, just mark all of them as applied.
|
// Don't run any migrations, just mark all of them as applied.
|
||||||
@ -51,13 +51,14 @@ namespace Jellyfin.Server.Migrations
|
|||||||
}
|
}
|
||||||
|
|
||||||
logger.LogInformation("Applying migration {Name}", migrationRoutine.Name);
|
logger.LogInformation("Applying migration {Name}", migrationRoutine.Name);
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
migrationRoutine.Perform(host, logger);
|
migrationRoutine.Perform(host, logger);
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
logger.LogError(ex, "Cannot apply migration {Name}", migrationRoutine.Name);
|
logger.LogError(ex, "Could not apply migration {Name}", migrationRoutine.Name);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@ using MediaBrowser.Common.Configuration;
|
|||||||
namespace Jellyfin.Server.Migrations
|
namespace Jellyfin.Server.Migrations
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A factory that teachs Jellyfin how to find a peristent file which lists all applied migrations.
|
/// A factory that can find a persistent file of the migration configuration, which lists all applied migrations.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class MigrationsFactory : IConfigurationFactory
|
public class MigrationsFactory : IConfigurationFactory
|
||||||
{
|
{
|
||||||
|
@ -8,7 +8,7 @@ using Microsoft.Extensions.Logging;
|
|||||||
namespace Jellyfin.Server.Migrations.Routines
|
namespace Jellyfin.Server.Migrations.Routines
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Updater that takes care of bringing configuration up to 10.5.0 standards.
|
/// Disable transcode throttling for all installations since it is currently broken for certain video formats.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
internal class DisableTranscodingThrottling : IMigrationRoutine
|
internal class DisableTranscodingThrottling : IMigrationRoutine
|
||||||
{
|
{
|
||||||
@ -18,7 +18,7 @@ namespace Jellyfin.Server.Migrations.Routines
|
|||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
public void Perform(CoreAppHost host, ILogger logger)
|
public void Perform(CoreAppHost host, ILogger logger)
|
||||||
{
|
{
|
||||||
// Set EnableThrottling to false as it wasn't used before, and in 10.5.0 it may introduce issues
|
// Set EnableThrottling to false since it wasn't used before and may introduce issues
|
||||||
var encoding = ((IConfigurationManager)host.ServerConfigurationManager).GetConfiguration<EncodingOptions>("encoding");
|
var encoding = ((IConfigurationManager)host.ServerConfigurationManager).GetConfiguration<EncodingOptions>("encoding");
|
||||||
if (encoding.EnableThrottling)
|
if (encoding.EnableThrottling)
|
||||||
{
|
{
|
||||||
|
@ -573,7 +573,8 @@ namespace MediaBrowser.Api.Playback
|
|||||||
{
|
{
|
||||||
attachment.DeliveryUrl = string.Format(
|
attachment.DeliveryUrl = string.Format(
|
||||||
CultureInfo.InvariantCulture,
|
CultureInfo.InvariantCulture,
|
||||||
"/Videos/{0}/{1}/Attachments/{2}",
|
"{0}/Videos/{1}/{2}/Attachments/{3}",
|
||||||
|
ServerConfigurationManager.Configuration.BaseUrl,
|
||||||
item.Id,
|
item.Id,
|
||||||
mediaSource.Id,
|
mediaSource.Id,
|
||||||
attachment.Index);
|
attachment.Index);
|
||||||
|
@ -248,7 +248,7 @@ namespace MediaBrowser.Model.Configuration
|
|||||||
PublicHttpsPort = DefaultHttpsPort;
|
PublicHttpsPort = DefaultHttpsPort;
|
||||||
HttpServerPortNumber = DefaultHttpPort;
|
HttpServerPortNumber = DefaultHttpPort;
|
||||||
HttpsPortNumber = DefaultHttpsPort;
|
HttpsPortNumber = DefaultHttpsPort;
|
||||||
EnableHttps = true;
|
EnableHttps = false;
|
||||||
EnableDashboardResponseCaching = true;
|
EnableDashboardResponseCaching = true;
|
||||||
EnableCaseSensitiveItemIds = true;
|
EnableCaseSensitiveItemIds = true;
|
||||||
|
|
||||||
|
@ -73,7 +73,7 @@ Unicode True
|
|||||||
; TODO: Replace with nice Jellyfin Icons
|
; TODO: Replace with nice Jellyfin Icons
|
||||||
!ifdef UXPATH
|
!ifdef UXPATH
|
||||||
!define MUI_ICON "${UXPATH}\branding\NSIS\modern-install.ico" ; Installer Icon
|
!define MUI_ICON "${UXPATH}\branding\NSIS\modern-install.ico" ; Installer Icon
|
||||||
!define MUI_UNICON "${UXPATH}\branding\NSIS\modern-uninstall.ico" ; Uninstaller Icon
|
!define MUI_UNICON "${UXPATH}\branding\NSIS\modern-install.ico" ; Uninstaller Icon
|
||||||
|
|
||||||
!define MUI_HEADERIMAGE
|
!define MUI_HEADERIMAGE
|
||||||
!define MUI_HEADERIMAGE_BITMAP "${UXPATH}\branding\NSIS\installer-header.bmp"
|
!define MUI_HEADERIMAGE_BITMAP "${UXPATH}\branding\NSIS\installer-header.bmp"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user