mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-05-03 23:36:38 +01:00
Merge remote-tracking branch 'upstream/master' into perf-rebased
This commit is contained in:
@@ -60,6 +60,7 @@ namespace Emby.Server.Implementations.IO
|
||||
_fileSystem = fileSystem;
|
||||
|
||||
appLifetime.ApplicationStarted.Register(Start);
|
||||
appLifetime.ApplicationStopping.Register(Stop);
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
|
||||
@@ -73,8 +73,10 @@ public class ArtistsValidator
|
||||
|
||||
// Fall back to GetArtist if not found (creates new item if needed)
|
||||
item ??= _libraryManager.GetArtist(name);
|
||||
var isNew = !existingArtistIds.Contains(item.Id);
|
||||
var neverRefreshed = item.DateLastRefreshed == default;
|
||||
|
||||
if (!existingArtistIds.Contains(item.Id))
|
||||
if (isNew || neverRefreshed)
|
||||
{
|
||||
await item.RefreshMetadata(cancellationToken).ConfigureAwait(false);
|
||||
refreshed++;
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
{
|
||||
"Albums": "аальбомқәа"
|
||||
"Albums": "аальбомқәа",
|
||||
"AppDeviceValues": "Апп: {0}, Априбор: {1}",
|
||||
"Application": "Апрограмма"
|
||||
}
|
||||
|
||||
141
Emby.Server.Implementations/Localization/Core/bs.json
Normal file
141
Emby.Server.Implementations/Localization/Core/bs.json
Normal file
@@ -0,0 +1,141 @@
|
||||
{
|
||||
"Albums": "Albumi",
|
||||
"Artists": "Umjetnici",
|
||||
"Books": "Knjige",
|
||||
"Channels": "Kanalima",
|
||||
"Collections": "Zbirke",
|
||||
"Default": "Zadano",
|
||||
"Favorites": "Omiljeni",
|
||||
"Folders": "Mape",
|
||||
"Genres": "Žanrovi",
|
||||
"HeaderAlbumArtists": "Umjetnici albuma",
|
||||
"HeaderContinueWatching": "Nastavi gledati",
|
||||
"Movies": "Filmovi",
|
||||
"MusicVideos": "Muzički spotovi",
|
||||
"Photos": "Slike",
|
||||
"Playlists": "Plejliste",
|
||||
"Shows": "Pokazuje",
|
||||
"Songs": "Pjesme",
|
||||
"ValueSpecialEpisodeName": "Posebno - {0}",
|
||||
"AppDeviceValues": "Aplikacija: {0}, Uređaj: {1}",
|
||||
"Application": "Prijava",
|
||||
"AuthenticationSucceededWithUserName": "{0} uspješno autentificirano",
|
||||
"CameraImageUploadedFrom": "Nova slika s kamere je postavljena sa {0}",
|
||||
"ChapterNameValue": "Poglavlje {0}",
|
||||
"DeviceOfflineWithName": "{0} se odspojio",
|
||||
"DeviceOnlineWithName": "{0} je povezan",
|
||||
"External": "Vanjsko",
|
||||
"FailedLoginAttemptWithUserName": "Neuspjeli pokušaj prijave sa {0}",
|
||||
"Forced": "Prisilno",
|
||||
"HeaderFavoriteAlbums": "Omiljeni albumi",
|
||||
"HeaderFavoriteArtists": "Omiljeni umjetnici",
|
||||
"HeaderFavoriteEpisodes": "Omiljene epizode",
|
||||
"HeaderFavoriteShows": "Omiljene emisije",
|
||||
"HeaderFavoriteSongs": "Omiljene pjesme",
|
||||
"HeaderLiveTV": "TV uživo",
|
||||
"HeaderNextUp": "Slijedi",
|
||||
"HeaderRecordingGroups": "Grupe za snimanje",
|
||||
"HearingImpaired": "Oštećen sluh",
|
||||
"HomeVideos": "Kućni videozapisi",
|
||||
"Inherit": "Nasljedi",
|
||||
"ItemAddedWithName": "{0} je dodan u biblioteku",
|
||||
"ItemRemovedWithName": "{0} je uklonjen iz biblioteke",
|
||||
"LabelIpAddressValue": "IP adresa: {0}",
|
||||
"LabelRunningTimeValue": "Trajanje: {0}",
|
||||
"Latest": "Posljednje dodano",
|
||||
"MessageApplicationUpdated": "Jellyfin Server je ažuriran",
|
||||
"MessageApplicationUpdatedTo": "Jellyfin Server je ažuriran na {0}",
|
||||
"MessageNamedServerConfigurationUpdatedWithValue": "Sekcija za konfiguraciju servera {0} je ažurirana",
|
||||
"MessageServerConfigurationUpdated": "Konfiguracija servera je ažurirana",
|
||||
"MixedContent": "Miješani sadržaj",
|
||||
"Music": "Muzika",
|
||||
"NameInstallFailed": "{0} instalacija je propala",
|
||||
"NameSeasonNumber": "Sezona {0}",
|
||||
"NameSeasonUnknown": "Sezona nepoznata",
|
||||
"NewVersionIsAvailable": "Dostupna je nova verzija Jellyfin Servera za preuzimanje.",
|
||||
"NotificationOptionApplicationUpdateAvailable": "Dostupno ažuriranje aplikacije",
|
||||
"NotificationOptionApplicationUpdateInstalled": "Ažuriranje aplikacije instalirano",
|
||||
"NotificationOptionAudioPlayback": "Pokrenuto je reproduciranje zvuka",
|
||||
"NotificationOptionAudioPlaybackStopped": "Zaustavljeno je reproduciranje zvuka",
|
||||
"NotificationOptionCameraImageUploaded": "Učitana slika s kamere",
|
||||
"NotificationOptionInstallationFailed": "Neuspjeh instalacije",
|
||||
"NotificationOptionNewLibraryContent": "Dodan novi sadržaj",
|
||||
"NotificationOptionPluginError": "Neuspjeh dodatka",
|
||||
"NotificationOptionPluginInstalled": "Dodatak je instaliran",
|
||||
"NotificationOptionPluginUninstalled": "Dodatak je deinstaliran",
|
||||
"NotificationOptionPluginUpdateInstalled": "Ažuriranje dodatka je instalirano",
|
||||
"NotificationOptionServerRestartRequired": "Potreban je ponovni pokret servera",
|
||||
"NotificationOptionTaskFailed": "Neuspjeh zakazane zadatke",
|
||||
"NotificationOptionUserLockedOut": "Korisnik je zaključan",
|
||||
"NotificationOptionVideoPlayback": "Pokrenuto je reproduciranje videa",
|
||||
"NotificationOptionVideoPlaybackStopped": "Reprodukcija videa je zaustavljena",
|
||||
"Plugin": "Plugin",
|
||||
"PluginInstalledWithName": "{0} je instaliran",
|
||||
"PluginUninstalledWithName": "{0} je deinstaliran",
|
||||
"PluginUpdatedWithName": "{0} je ažurirano",
|
||||
"ProviderValue": "Pružatelj: {0}",
|
||||
"ScheduledTaskFailedWithName": "{0} nije uspjelo",
|
||||
"ScheduledTaskStartedWithName": "{0} počelo",
|
||||
"ServerNameNeedsToBeRestarted": "{0} treba ponovo pokrenuti",
|
||||
"StartupEmbyServerIsLoading": "Jellyfin Server se učitava. Molimo pokušajte ponovo za kratko vrijeme.",
|
||||
"SubtitleDownloadFailureFromForItem": "Podtitlovi nisu uspjeli preuzeti sa {0} za {1}",
|
||||
"Sync": "Sinkronizacija",
|
||||
"System": "Sistem",
|
||||
"TvShows": "TV serije",
|
||||
"Undefined": "Nedefinirano",
|
||||
"User": "Korisnik",
|
||||
"UserCreatedWithName": "Korisnik {0} je kreiran",
|
||||
"UserDeletedWithName": "Korisnik {0} je izbrisan",
|
||||
"UserDownloadingItemWithValues": "{0} preuzima {1}",
|
||||
"UserLockedOutWithName": "Korisnik {0} je zaključan",
|
||||
"UserOfflineFromDevice": "{0} se odspojio od {1}",
|
||||
"UserOnlineFromDevice": "{0} je online od {1}",
|
||||
"UserPasswordChangedWithName": "Lozinka je promijenjena za korisnika {0}",
|
||||
"UserPolicyUpdatedWithName": "Pravila za korisnike su ažurirana za {0}",
|
||||
"UserStartedPlayingItemWithValues": "{0} igra protiv {1} na {2}",
|
||||
"UserStoppedPlayingItemWithValues": "{0} je završio igru protiv {1} na {2}",
|
||||
"ValueHasBeenAddedToLibrary": "{0} je dodan u vašu medijsku biblioteku",
|
||||
"VersionNumber": "Verzija {0}",
|
||||
"TasksMaintenanceCategory": "Održavanje",
|
||||
"TasksLibraryCategory": "Biblioteka",
|
||||
"TasksApplicationCategory": "Prijava",
|
||||
"TasksChannelsCategory": "Internetski kanali",
|
||||
"TaskCleanActivityLog": "Očisti dnevnik aktivnosti",
|
||||
"TaskCleanActivityLogDescription": "Brisanje unosa u dnevnik aktivnosti starijih od konfigurisane starosti.",
|
||||
"TaskCleanCache": "Očistite direktorij keša",
|
||||
"TaskCleanCacheDescription": "Brisanje keš datoteka koje sistemu više nisu potrebne.",
|
||||
"TaskRefreshChapterImages": "Izvadi slike iz poglavlja",
|
||||
"TaskRefreshChapterImagesDescription": "Stvara minijature za videozapise koji imaju poglavlja.",
|
||||
"TaskAudioNormalization": "Normalizacija zvuka",
|
||||
"TaskAudioNormalizationDescription": "Skeneriše datoteke radi podataka za normalizaciju zvuka.",
|
||||
"TaskRefreshLibrary": "Skenerisati medijsku biblioteku",
|
||||
"TaskRefreshLibraryDescription": "Skenerira vašu medijsku biblioteku na nove datoteke i osvježava metapodatke.",
|
||||
"TaskCleanLogs": "Očisti direktorij dnevnika",
|
||||
"TaskCleanLogsDescription": "Brisanje dnevničkih datoteka starijih od {0} dana.",
|
||||
"TaskRefreshPeople": "Osvježite ljude",
|
||||
"TaskRefreshPeopleDescription": "Ažurira metapodatke za glumce i režisere u vašoj medijskoj biblioteci.",
|
||||
"TaskRefreshTrickplayImages": "Generirajte Trickplay slike",
|
||||
"TaskRefreshTrickplayImagesDescription": "Stvara pregled trik-igara za videozapise u omogućenim bibliotekama.",
|
||||
"TaskUpdatePlugins": "Ažuriraj dodatke",
|
||||
"TaskUpdatePluginsDescription": "Preuzima i instalira ažuriranja dodataka koji su konfigurisani da se automatski ažuriraju.",
|
||||
"TaskCleanTranscode": "Očisti Transcode direktorij",
|
||||
"TaskCleanTranscodeDescription": "Brisanje transkodiranih datoteka starijih od jednog dana.",
|
||||
"TaskRefreshChannels": "Osvježi kanale",
|
||||
"TaskRefreshChannelsDescription": "Osvježava informacije o internetskom kanalu.",
|
||||
"TaskDownloadMissingLyrics": "Preuzmi nedostajuće tekstove",
|
||||
"TaskDownloadMissingLyricsDescription": "Preuzmi tekstove pjesama",
|
||||
"TaskDownloadMissingSubtitles": "Preuzmite nedostajuće titlove",
|
||||
"TaskDownloadMissingSubtitlesDescription": "Pretražuje internet u potrazi za nedostajućim titlovima na osnovu konfiguracije metapodataka.",
|
||||
"TaskOptimizeDatabase": "Optimizirajte bazu podataka",
|
||||
"TaskOptimizeDatabaseDescription": "Komprimira bazu podataka i čisti slobodan prostor. Pokretanje ovog zadatka nakon skeniranja biblioteke ili izvođenja drugih promjena koje podrazumijevaju izmjene baze podataka može poboljšati performanse.",
|
||||
"TaskKeyframeExtractor": "Izvađač ključnih sličica",
|
||||
"TaskKeyframeExtractorDescription": "Izvlači ključne okvire iz video datoteka kako bi kreirao preciznije HLS playliste. Ovaj zadatak može trajati dugo.",
|
||||
"TaskCleanCollectionsAndPlaylists": "Očistite kolekcije i playliste",
|
||||
"TaskCleanCollectionsAndPlaylistsDescription": "Uklanja stavke iz kolekcija i playlista koje više ne postoje.",
|
||||
"TaskExtractMediaSegments": "Analiza medijskog segmenta",
|
||||
"TaskExtractMediaSegmentsDescription": "Izvlači ili dobija medijske segmente iz dodataka koji podržavaju MediaSegment.",
|
||||
"TaskMoveTrickplayImages": "Migracija lokacije slike Trickplay",
|
||||
"TaskMoveTrickplayImagesDescription": "Premješta postojeće datoteke trik-igara prema postavkama biblioteke.",
|
||||
"CleanupUserDataTask": "Zadatak čišćenja korisničkih podataka",
|
||||
"CleanupUserDataTaskDescription": "Čisti sve korisničke podatke (stanje praćenja, status omiljenog itd.) sa medija koji više nije prisutan najmanje 90 dana."
|
||||
}
|
||||
@@ -63,8 +63,8 @@
|
||||
"Photos": "Fotos",
|
||||
"Playlists": "Llistes de reproducció",
|
||||
"Plugin": "Complement",
|
||||
"PluginInstalledWithName": "{0} s'ha instal·lat",
|
||||
"PluginUninstalledWithName": "{0} s'ha desinstal·lat",
|
||||
"PluginInstalledWithName": "S'ha instal·lat {0}",
|
||||
"PluginUninstalledWithName": "S'ha desinstal·lat {0}",
|
||||
"PluginUpdatedWithName": "S'ha actualitzat {0}",
|
||||
"ProviderValue": "Proveïdor: {0}",
|
||||
"ScheduledTaskFailedWithName": "{0} ha fallat",
|
||||
|
||||
@@ -39,8 +39,8 @@
|
||||
"Channels": "Kanavat",
|
||||
"CameraImageUploadedFrom": "Uusi kameran kuva on sirretty lähteestä {0}",
|
||||
"Books": "Kirjat",
|
||||
"AuthenticationSucceededWithUserName": "{0} on todennettu",
|
||||
"Artists": "Esittäjät",
|
||||
"AuthenticationSucceededWithUserName": "{0} todennus onnistunut",
|
||||
"Artists": "Artistit",
|
||||
"Application": "Sovellus",
|
||||
"AppDeviceValues": "Sovellus: {0}, Laite: {1}",
|
||||
"Albums": "Albumit",
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
"HeaderFavoriteShows": "Omiljene serije",
|
||||
"HeaderFavoriteSongs": "Omiljene pjesme",
|
||||
"HeaderLiveTV": "TV uživo",
|
||||
"HeaderNextUp": "Slijedi",
|
||||
"HeaderNextUp": "Sljedeće na redu",
|
||||
"HeaderRecordingGroups": "Grupa snimka",
|
||||
"HomeVideos": "Kućni video",
|
||||
"Inherit": "Naslijedi",
|
||||
@@ -73,10 +73,10 @@
|
||||
"Shows": "Emisije",
|
||||
"Songs": "Pjesme",
|
||||
"StartupEmbyServerIsLoading": "Jellyfin server se učitava. Pokušajte ponovo uskoro.",
|
||||
"SubtitleDownloadFailureFromForItem": "Prijevod nije uspješno preuzet od {0} za {1}",
|
||||
"SubtitleDownloadFailureFromForItem": "Titlovi nisu uspješno preuzeti od {0} za {1}",
|
||||
"Sync": "Sinkronizacija",
|
||||
"System": "Sustav",
|
||||
"TvShows": "Serije",
|
||||
"TvShows": "TV emisije",
|
||||
"User": "Korisnik",
|
||||
"UserCreatedWithName": "Korisnik {0} je kreiran",
|
||||
"UserDeletedWithName": "Korisnik {0} je obrisan",
|
||||
@@ -88,26 +88,26 @@
|
||||
"UserPolicyUpdatedWithName": "Pravila za korisnika ažurirana su za {0}",
|
||||
"UserStartedPlayingItemWithValues": "{0} je pokrenuo reprodukciju {1} na {2}",
|
||||
"UserStoppedPlayingItemWithValues": "{0} je završio reprodukciju {1} na {2}",
|
||||
"ValueHasBeenAddedToLibrary": "{0} je dodano u medijsku biblioteku",
|
||||
"ValueSpecialEpisodeName": "Posebno - {0}",
|
||||
"ValueHasBeenAddedToLibrary": "{0} je dodano u biblioteku medija",
|
||||
"ValueSpecialEpisodeName": "Posebno – {0}",
|
||||
"VersionNumber": "Verzija {0}",
|
||||
"TaskRefreshLibraryDescription": "Skenira medijsku biblioteku radi novih datoteka i osvježava metapodatke.",
|
||||
"TaskRefreshLibrary": "Skeniraj medijsku biblioteku",
|
||||
"TaskRefreshLibraryDescription": "Skenira biblioteku medija radi novih datoteka i osvježava metapodatke.",
|
||||
"TaskRefreshLibrary": "Skeniraj biblioteku medija",
|
||||
"TaskRefreshChapterImagesDescription": "Kreira sličice za videozapise koji imaju poglavlja.",
|
||||
"TaskRefreshChapterImages": "Izdvoji slike poglavlja",
|
||||
"TaskCleanCacheDescription": "Briše nepotrebne datoteke iz predmemorije.",
|
||||
"TaskCleanCache": "Očisti mapu predmemorije",
|
||||
"TasksApplicationCategory": "Aplikacija",
|
||||
"TasksMaintenanceCategory": "Održavanje",
|
||||
"TaskDownloadMissingSubtitlesDescription": "Pretraži Internet za prijevodima koji nedostaju prema konfiguraciji metapodataka.",
|
||||
"TaskDownloadMissingSubtitles": "Preuzmi prijevod koji nedostaje",
|
||||
"TaskDownloadMissingSubtitlesDescription": "Pretraži internet za nedsotajućim titlovima ne osnovi konfiguracije metapodataka.",
|
||||
"TaskDownloadMissingSubtitles": "Preuzmi nedostajuće titlove",
|
||||
"TaskRefreshChannelsDescription": "Osvježava informacije Internet kanala.",
|
||||
"TaskRefreshChannels": "Osvježi kanale",
|
||||
"TaskCleanTranscodeDescription": "Briše transkodirane datoteke starije od jednog dana.",
|
||||
"TaskCleanTranscode": "Očisti mapu transkodiranja",
|
||||
"TaskUpdatePluginsDescription": "Preuzima i instalira ažuriranja za dodatke koji su konfigurirani da se ažuriraju automatski.",
|
||||
"TaskUpdatePlugins": "Ažuriraj dodatke",
|
||||
"TaskRefreshPeopleDescription": "Ažurira metapodatke za glumce i redatelje u medijskoj biblioteci.",
|
||||
"TaskRefreshPeopleDescription": "Ažurira metapodatke za glumce i redatelje u biblioteci medija.",
|
||||
"TaskRefreshPeople": "Osvježi osobe",
|
||||
"TaskCleanLogsDescription": "Briše zapise dnevnika koji su stariji od {0} dana.",
|
||||
"TaskCleanLogs": "Očisti mapu dnevnika zapisa",
|
||||
@@ -119,7 +119,7 @@
|
||||
"Forced": "Forsirani",
|
||||
"Default": "Zadano",
|
||||
"TaskOptimizeDatabase": "Optimiziraj bazu podataka",
|
||||
"External": "Vanjski",
|
||||
"External": "Eksterni",
|
||||
"TaskKeyframeExtractorDescription": "Izvlačenje ključnih okvira iz videozapisa za stvaranje objektivnije HLS liste za reprodukciju. Pokretanje ovog zadatka može potrajati.",
|
||||
"TaskKeyframeExtractor": "Izvoditelj ključnog okvira",
|
||||
"TaskOptimizeDatabaseDescription": "Sažima bazu podataka i uklanja prazan prostor. Pokretanje ovog zadatka, može poboljšati performanse nakon provođenja indeksiranja biblioteke ili provođenja drugih promjena koje utječu na bazu podataka.",
|
||||
@@ -135,7 +135,7 @@
|
||||
"TaskDownloadMissingLyricsDescription": "Preuzmi tekstove pjesama",
|
||||
"TaskExtractMediaSegmentsDescription": "Izvlači ili pribavlja dijelove medija iz omogućenih media pluginova.",
|
||||
"TaskMoveTrickplayImages": "Premjesti mjesto slika brzog pregledavanja",
|
||||
"TaskMoveTrickplayImagesDescription": "Premješta postojeće datoteke brzog pregledavanja prema postavkama biblioteke.",
|
||||
"TaskMoveTrickplayImagesDescription": "Premješta postojeće datoteke brzog pregledavanja u postavke biblioteke.",
|
||||
"CleanupUserDataTask": "Zadatak čišćenja korisničkih podataka",
|
||||
"CleanupUserDataTaskDescription": "Briše sve korisničke podatke (stanje gledanja, status favorita itd.) s medija koji više nisu prisutni najmanje 90 dana."
|
||||
}
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
"Inherit": "繼承",
|
||||
"ItemAddedWithName": "{0} 經已加咗入媒體櫃",
|
||||
"ItemRemovedWithName": "{0} 經已由媒體櫃移除咗",
|
||||
"LabelIpAddressValue": "IP 地址:{0}",
|
||||
"LabelIpAddressValue": "IP 位址:{0}",
|
||||
"LabelRunningTimeValue": "運行時間:{0}",
|
||||
"Latest": "最新",
|
||||
"MessageApplicationUpdated": "Jellyfin 經已更新咗",
|
||||
|
||||
@@ -138,7 +138,7 @@ namespace Emby.Server.Implementations.Localization
|
||||
string twoCharName = parts[2];
|
||||
if (string.IsNullOrWhiteSpace(twoCharName))
|
||||
{
|
||||
continue;
|
||||
twoCharName = string.Empty;
|
||||
}
|
||||
else if (twoCharName.Contains('-', StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
|
||||
@@ -749,6 +749,12 @@
|
||||
"ThreeLetterISORegionName": "TAJ",
|
||||
"TwoLetterISORegionName": "TJ"
|
||||
},
|
||||
{
|
||||
"DisplayName": "Tanzania",
|
||||
"Name": "TZ",
|
||||
"ThreeLetterISORegionName": "TZA",
|
||||
"TwoLetterISORegionName": "TZ"
|
||||
},
|
||||
{
|
||||
"DisplayName": "Thailand",
|
||||
"Name": "TH",
|
||||
|
||||
Reference in New Issue
Block a user