Merge dev into v4

pull/3895/head
TidusJar 6 years ago
commit 511f6ace77

@ -1,8 +1,107 @@
# Changelog # Changelog
## v3.0.4256 (2019-02-18)
## v3.0.4119 (2019-1-09) ### **New Features**
- Update discord link to follow the scheme of other links. [Tom McClellan]
- Update issue templates. [Jamie]
- Update README.md. [Jamie]
- Update CHANGELOG.md. [Jamie]
- Added the functionality to remove a user from getting notifications to their mobile device #2780. [tidusjar]
- Added a demo mode, this will only show movies and shows that are in the public domain. Dam that stupid fruit company. [tidusjar]
- Added Actor Searching for Movies! [TidusJar]
- Added the ability to change where the View on Emby link goes to #2730. [TidusJar]
- Added the request queue to the notifications UI so you can turn it off per notification agent #2747. [TidusJar]
- Added new classes to the posters #2732. [TidusJar]
### **Fixes**
- Fix: src/Ombi/package.json to reduce vulnerabilities. [snyk-bot]
- Fixed #2801 this is when a season is not correctly monitored in sonarr when approved by an admin. [tidusjar]
- Small improvements to try and mitigate #2750. [tidusjar]
- Removed some areas where we clear out the cache. This should help with DB locking #2750. [tidusjar]
- Fixed #2810. [tidusjar]
- Cannot create an issue comment with the API #2811. [tidusjar]
- Set the local domain if the Application URL is set for the HELO or EHLO commands. #2636. [tidusjar]
- New translations en.json (Spanish) [Jamie]
- Delete ISSUE_TEMPLATE.md. [Jamie]
- More minor grammatical edits. [Andrew Metzger]
- Minor grammatical edits. [Andrew Metzger]
- Fixed #2802 the issue where "Issues" were not being deleted correctly. [tidusjar]
- Fixed #2797. [tidusjar]
- New translations en.json (Dutch) [Jamie]
- New translations en.json (Spanish) [Jamie]
- New translations en.json (Portuguese, Brazilian) [Jamie]
- Fixed #2786. [tidusjar]
- Fixed #2756. [tidusjar]
- Ignore the UserName header as part of the Api is the value is an empty string. [tidusjar]
- Fixed #2759. [tidusjar]
- Did #2756. [TidusJar]
- Fixed the exception that sometimes makes ombi fallover. [TidusJar]
- New translations en.json (Swedish) [Jamie]
- New translations en.json (Swedish) [Jamie]
- New translations en.json (Swedish) [Jamie]
- New translations en.json (Swedish) [Jamie]
- New translations en.json (Swedish) [Jamie]
- New translations en.json (Swedish) [Jamie]
- New translations en.json (Swedish) [Jamie]
- New translations en.json (Swedish) [Jamie]
- New translations en.json (Swedish) [Jamie]
- New translations en.json (Swedish) [Jamie]
- Log the error to the ui to figure out what's going on with #2755. [tidusjar]
- Small fix when denying a request with a reason, we wasn't updating the ui. [TidusJar]
- Make sure we can only set the ApiAlias when using the API Key. [tidusjar]
- #2363 Added the ability to pass any username into the API using the ApiAlias header. [tidusjar]
- Removed the Add user to Plex from Ombi. [tidusjar]
## v3.0.4119 (2019-01-09)
### **New Features** ### **New Features**
@ -24,27 +123,33 @@
- Added the ability to specify a year when searching for movies. [tidusjar] - Added the ability to specify a year when searching for movies. [tidusjar]
- Made the newsletter use the default lanuage code set in the Ombi settings for movie information. [TidusJar] - Update NewsletterTemplate.html. [d1slact0r]
- Added a global language flag that now applies to the search by default. [tidusjar] - Update NewsletterTemplate.html. [d1slact0r]
- Updated the frontend packages (Using Angular 7 now) [TidusJar] - Update NewsletterTemplate.html. [d1slact0r]
- Added capture of anonymous analytical data. [tidusjar] - Update HtmlTemplateGenerator.cs. [d1slact0r]
- Added {AvailableDate} as a Notification Variable, this is the date the request was marked as available. See here: https://github.com/tidusjar/Ombi/wiki/Notification-Template-Variables. [tidusjar] - Update NewsletterTemplate.html. [d1slact0r]
- Updated the Newsletter template! Better mail client support [d1slact0r] - Update HtmlTemplateGenerator.cs. [d1slact0r]
- Updated boostrap #2694. [TidusJar] - Update NewsletterTemplate.html. [d1slact0r]
- Added the ability to deny a request with a reason. [TidusJar] - Update NewsletterTemplate.html. [d1slact0r]
- Updated to .net core 2.2 and included a linux-arm64 build. [aptalca]
- Make the newsletter BCC the users rather than creating a million newsletters (Hopefully will stop SMTP providers from marking as spam). This does mean that the custom user customization in the newsletter will no longer work. [TidusJar] - Update NewsletterTemplate.html. [d1slact0r]
- Update HtmlTemplateGenerator.cs. [d1slact0r]
- New translations [TidusJar] - Updated boostrap #2694. [Jamie]
- Added the ability to deny a request with a reason. [TidusJar]
- Update EmbyEpisodeSync.cs. [Jamie]
- Updated to .net core 2.2 and included a linux-arm64 build. [TidusJar]
### **Fixes** ### **Fixes**
@ -66,12 +171,62 @@
- Fixed #2716. [tidusjar] - Fixed #2716. [tidusjar]
- Make the newsletter BCC the users rather than creating a million newsletters (Hopefully will stop SMTP providers from marking as spam). This does mean that the custom user customization in the newsletter will no longer work. [TidusJar]
- If we don't know the Plex agent, then see if it's a ImdbId, if it's not check the string for any episode and season hints #2695. [tidusjar] - If we don't know the Plex agent, then see if it's a ImdbId, if it's not check the string for any episode and season hints #2695. [tidusjar]
- New translations en.json (Swedish) [Jamie]
- New translations en.json (Spanish) [Jamie]
- New translations en.json (Portuguese, Brazilian) [Jamie]
- New translations en.json (Polish) [Jamie]
- New translations en.json (Norwegian) [Jamie]
- New translations en.json (Italian) [Jamie]
- New translations en.json (German) [Jamie]
- New translations en.json (French) [Jamie]
- New translations en.json (Dutch) [Jamie]
- New translations en.json (Danish) [Jamie]
- New translations en.json (Dutch) [Jamie]
- New translations en.json (Dutch) [Jamie]
- New translations en.json (Dutch) [Jamie]
- Made the search results the language specified in the search refinement. [tidusjar]
- Fixed #2704. [tidusjar] - Fixed #2704. [tidusjar]
- Now it is fixed :) [d1slact0r]
- Android please be nice now. [d1slact0r]
- Fixed title bit better. [d1slact0r]
- Fixed titles. [d1slact0r]
- This should fix the build for sure (stupid quotes) [d1slact0r]
- Fixes build. [d1slact0r]
- Rewritten the whole newsletter template. [d1slact0r]
- Fixed #2697. [tidusjar] - Fixed #2697. [tidusjar]
- Add linux-arm runtime identifier. [aptalca]
- Add back arm packages. [aptalca]
- Add arm32 package. [aptalca]
- Fixed #2691. [tidusjar] - Fixed #2691. [tidusjar]
- Fixed linting. [TidusJar] - Fixed linting. [TidusJar]
@ -80,10 +235,13 @@
- Fixed #2678. [TidusJar] - Fixed #2678. [TidusJar]
- Deny reason for movie requests. [TidusJar]
- Set the landing and login pages background refresh to 15 seconds rather than 10 and 7. [TidusJar] - Set the landing and login pages background refresh to 15 seconds rather than 10 and 7. [TidusJar]
- Fixed a bug with us thinking future dated emby episodes are not available, Consoldated the emby and plex search rules (since they have the same logic) [TidusJar] - Fixed a bug with us thinking future dated emby episodes are not available, Consoldated the emby and plex search rules (since they have the same logic) [TidusJar]
- Fixed build. [TidusJar]
## v3.0.4036 (2018-12-11) ## v3.0.4036 (2018-12-11)

@ -229,7 +229,7 @@ namespace Ombi.Core.Engine
} }
var request = await RequestService.MovieRequestService.GetAll() var request = await RequestService.MovieRequestService.GetAll()
.AnyAsync(x => x.RequestedUserId.Equals(user.Id) && x.TheMovieDbId == viewModel.Id); .AnyAsync(x => x.RequestedUserId.Equals(user.Id) && x.TheMovieDbId == viewModel.Id);
if (request) if (request || viewModel.Available)
{ {
viewModel.ShowSubscribe = false; viewModel.ShowSubscribe = false;
} }

@ -11,9 +11,9 @@
<ItemGroup> <ItemGroup>
<PackageReference Include="AutoMapper" Version="6.1.1" /> <PackageReference Include="AutoMapper" Version="6.1.1" />
<PackageReference Include="AutoMapper.Extensions.Microsoft.DependencyInjection" Version="3.2.0" /> <PackageReference Include="AutoMapper.Extensions.Microsoft.DependencyInjection" Version="3.2.0" />
<PackageReference Include="Hangfire" Version="1.6.21" /> <PackageReference Include="Hangfire" Version="1.6.22" />
<PackageReference Include="Microsoft.AspNetCore.Cryptography.KeyDerivation" Version="2.2.0" /> <PackageReference Include="Microsoft.AspNetCore.Cryptography.KeyDerivation" Version="2.2.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="2.2.1" /> <PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="2.2.2" />
<PackageReference Include="MiniProfiler.AspNetCore" Version="4.0.0-alpha6-79" /> <PackageReference Include="MiniProfiler.AspNetCore" Version="4.0.0-alpha6-79" />
<PackageReference Include="Newtonsoft.Json" Version="12.0.1" /> <PackageReference Include="Newtonsoft.Json" Version="12.0.1" />
<PackageReference Include="System.Diagnostics.Process" Version="4.3.0" /> <PackageReference Include="System.Diagnostics.Process" Version="4.3.0" />

@ -2,7 +2,6 @@
using System.Linq; using System.Linq;
using System.Threading.Tasks; using System.Threading.Tasks;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Query;
using Ombi.Core.Models.Search; using Ombi.Core.Models.Search;
using Ombi.Store.Entities; using Ombi.Store.Entities;
using Ombi.Store.Repository.Requests; using Ombi.Store.Repository.Requests;
@ -24,7 +23,7 @@ namespace Ombi.Core.Rule.Rules.Search
if (!airedButNotAvailable) if (!airedButNotAvailable)
{ {
var unairedEpisodes = search.SeasonRequests.Any(x => var unairedEpisodes = search.SeasonRequests.Any(x =>
x.Episodes.Any(c => !c.Available && c.AirDate > DateTime.Now.Date)); x.Episodes.Any(c => !c.Available && c.AirDate > DateTime.Now.Date && c.AirDate != DateTime.MinValue));
if (unairedEpisodes) if (unairedEpisodes)
{ {
search.FullyAvailable = true; search.FullyAvailable = true;
@ -41,21 +40,21 @@ namespace Ombi.Core.Rule.Rules.Search
{ {
epExists = await allEpisodes.FirstOrDefaultAsync(x => epExists = await allEpisodes.FirstOrDefaultAsync(x =>
x.EpisodeNumber == episode.EpisodeNumber && x.SeasonNumber == season.SeasonNumber && x.EpisodeNumber == episode.EpisodeNumber && x.SeasonNumber == season.SeasonNumber &&
x.Series.ImdbId == item.ImdbId.ToString()); x.Series.ImdbId == item.ImdbId);
} }
if (useTheMovieDb) if (useTheMovieDb)
{ {
epExists = await allEpisodes.FirstOrDefaultAsync(x => epExists = await allEpisodes.FirstOrDefaultAsync(x =>
x.EpisodeNumber == episode.EpisodeNumber && x.SeasonNumber == season.SeasonNumber && x.EpisodeNumber == episode.EpisodeNumber && x.SeasonNumber == season.SeasonNumber &&
x.Series.TheMovieDbId == item.TheMovieDbId.ToString()); x.Series.TheMovieDbId == item.TheMovieDbId);
} }
if (useTvDb) if (useTvDb)
{ {
epExists = await allEpisodes.FirstOrDefaultAsync(x => epExists = await allEpisodes.FirstOrDefaultAsync(x =>
x.EpisodeNumber == episode.EpisodeNumber && x.SeasonNumber == season.SeasonNumber && x.EpisodeNumber == episode.EpisodeNumber && x.SeasonNumber == season.SeasonNumber &&
x.Series.TvDbId == item.TvDbId.ToString()); x.Series.TvDbId == item.TvDbId);
} }
if (epExists != null) if (epExists != null)
@ -71,21 +70,21 @@ namespace Ombi.Core.Rule.Rules.Search
{ {
epExists = await allEpisodes.FirstOrDefaultAsync(x => epExists = await allEpisodes.FirstOrDefaultAsync(x =>
x.EpisodeNumber == episode.EpisodeNumber && x.SeasonNumber == season.SeasonNumber && x.EpisodeNumber == episode.EpisodeNumber && x.SeasonNumber == season.SeasonNumber &&
x.Series.ImdbId == item.ImdbId.ToString()); x.Series.ImdbId == item.ImdbId);
} }
if (useTheMovieDb) if (useTheMovieDb)
{ {
epExists = await allEpisodes.FirstOrDefaultAsync(x => epExists = await allEpisodes.FirstOrDefaultAsync(x =>
x.EpisodeNumber == episode.EpisodeNumber && x.SeasonNumber == season.SeasonNumber && x.EpisodeNumber == episode.EpisodeNumber && x.SeasonNumber == season.SeasonNumber &&
x.Series.TheMovieDbId == item.TheMovieDbId.ToString()); x.Series.TheMovieDbId == item.TheMovieDbId);
} }
if (useTvDb) if (useTvDb)
{ {
epExists = await allEpisodes.FirstOrDefaultAsync(x => epExists = await allEpisodes.FirstOrDefaultAsync(x =>
x.EpisodeNumber == episode.EpisodeNumber && x.SeasonNumber == season.SeasonNumber && x.EpisodeNumber == episode.EpisodeNumber && x.SeasonNumber == season.SeasonNumber &&
x.Series.TvDbId == item.TvDbId.ToString()); x.Series.TvDbId == item.TvDbId);
} }
if (epExists != null) if (epExists != null)

@ -13,7 +13,7 @@ namespace Ombi.Notifications.Templates
if (string.IsNullOrEmpty(_templateLocation)) if (string.IsNullOrEmpty(_templateLocation))
{ {
#if DEBUG #if DEBUG
_templateLocation = Path.Combine(Directory.GetCurrentDirectory(), "bin", "Debug", "netcoreapp2.0", "Templates", _templateLocation = Path.Combine(Directory.GetCurrentDirectory(), "bin", "Debug", "netcoreapp2.2", "Templates",
"BasicTemplate.html"); "BasicTemplate.html");
#else #else
_templateLocation = Path.Combine(Directory.GetCurrentDirectory(), "Templates","BasicTemplate.html"); _templateLocation = Path.Combine(Directory.GetCurrentDirectory(), "Templates","BasicTemplate.html");

@ -57,11 +57,6 @@ namespace Ombi.Notifications
using (var client = new SmtpClient()) using (var client = new SmtpClient())
{ {
if (customization.ApplicationUrl.HasValue())
{
client.LocalDomain = customization.ApplicationUrl;
}
if (settings.DisableCertificateChecking) if (settings.DisableCertificateChecking)
{ {
// Disable validation of the certificate associated with the SMTP service // Disable validation of the certificate associated with the SMTP service

@ -10,8 +10,8 @@
<ItemGroup> <ItemGroup>
<PackageReference Include="Dapper" Version="1.50.2" /> <PackageReference Include="Dapper" Version="1.50.2" />
<PackageReference Include="Hangfire" Version="1.6.21" /> <PackageReference Include="Hangfire" Version="1.6.22" />
<PackageReference Include="Hangfire.AspNetCore" Version="1.6.21" /> <PackageReference Include="Hangfire.AspNetCore" Version="1.6.22" />
<PackageReference Include="Hangfire.Console" Version="1.3.10" /> <PackageReference Include="Hangfire.Console" Version="1.3.10" />
<PackageReference Include="Hangfire.MemoryStorage.Core" Version="1.4.0" /> <PackageReference Include="Hangfire.MemoryStorage.Core" Version="1.4.0" />
<PackageReference Include="Hangfire.RecurringJobExtensions" Version="1.1.6" /> <PackageReference Include="Hangfire.RecurringJobExtensions" Version="1.1.6" />

@ -12,8 +12,8 @@
<ItemGroup> <ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="2.2.0" /> <PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="2.2.0" />
<PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="2.2.0" /> <PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="2.2.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="2.2.1" /> <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="2.2.2" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="2.2.1" /> <PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="2.2.2" />
<PackageReference Include="Newtonsoft.Json" Version="12.0.1" /> <PackageReference Include="Newtonsoft.Json" Version="12.0.1" />
<PackageReference Include="SQLitePCLRaw.bundle_e_sqlite3" Version="1.1.9" /> <PackageReference Include="SQLitePCLRaw.bundle_e_sqlite3" Version="1.1.9" />
</ItemGroup> </ItemGroup>

@ -67,7 +67,7 @@
<div class="form-group"> <div class="form-group">
<label for="authToken" class="control-label">Externally Facing Hostname <label for="authToken" class="control-label">Externally Facing Hostname
<i class="fa fa-question-circle" <i class="fa fa-question-circle"
pTooltip="This will be the external address that users will naviagte to when they press the 'View On Emby' button"></i> pTooltip="This will be the external address that users will navigate to when they press the 'View On Emby' button"></i>
</label> </label>
<div> <div>
<input type="text" class="form-control-custom form-control" id="authToken" [(ngModel)]="server.serverHostname" placeholder="e.g. https://jellyfin.server.com/" value="{{server.serverHostname}}"> <input type="text" class="form-control-custom form-control" id="authToken" [(ngModel)]="server.serverHostname" placeholder="e.g. https://jellyfin.server.com/" value="{{server.serverHostname}}">

@ -1,6 +1,6 @@
{ {
"Login": { "Login": {
"SignInButton": "Einloggen", "SignInButton": "Anmelden",
"UsernamePlaceholder": "Benutzername", "UsernamePlaceholder": "Benutzername",
"PasswordPlaceholder": "Passwort", "PasswordPlaceholder": "Passwort",
"RememberMe": "Eingeloggt bleiben", "RememberMe": "Eingeloggt bleiben",
@ -137,7 +137,7 @@
"SortStatusAsc": "Status ▲", "SortStatusAsc": "Status ▲",
"SortStatusDesc": "Status ▼", "SortStatusDesc": "Status ▼",
"Remaining": { "Remaining": {
"Quota": "{{remaining}}/{{total}} requests remaining", "Quota": "{{remaining}}/{{total}} Anfragen verbleiben",
"NextDays": "Another request will be added in {{time}} days", "NextDays": "Another request will be added in {{time}} days",
"NextHours": "Another request will be added in {{time}} hours", "NextHours": "Another request will be added in {{time}} hours",
"NextMinutes": "Another request will be added in {{time}} minutes", "NextMinutes": "Another request will be added in {{time}} minutes",
@ -171,9 +171,9 @@
"PendingApproval": "Genehmigung ausstehend" "PendingApproval": "Genehmigung ausstehend"
}, },
"UserManagment": { "UserManagment": {
"TvRemaining": "TV: {{remaining}}/{{total}} remaining", "TvRemaining": "TV: {{remaining}}/{{total}} verbleibend",
"MovieRemaining": "Movies: {{remaining}}/{{total}} remaining", "MovieRemaining": "Filme: {{remaining}}/{{total}} verbleibend",
"MusicRemaining": "Music: {{remaining}}/{{total}} remaining", "MusicRemaining": "Musik: {{remaining}}/{{total}} verbleibend",
"TvDue": "TV: {{date}}", "TvDue": "TV: {{date}}",
"MovieDue": "Film: {{date}}", "MovieDue": "Film: {{date}}",
"MusicDue": "Musik: {{date}}" "MusicDue": "Musik: {{date}}"

@ -37,7 +37,7 @@
"OnlineParagraph": "El servidor de medios esta en línea", "OnlineParagraph": "El servidor de medios esta en línea",
"PartiallyOnlineHeading": "Parcialmente en línea", "PartiallyOnlineHeading": "Parcialmente en línea",
"PartiallyOnlineParagraph": "El servidor de medios está parcialmente en línea.", "PartiallyOnlineParagraph": "El servidor de medios está parcialmente en línea.",
"MultipleServersUnavailable": "{{serversUnavailable}} de {{totalServers}} servidores están fuera de línea.", "MultipleServersUnavailable": "Hay {{serversUnavailable}} de {{totalServers}} servidores fuera de línea.",
"SingleServerUnavailable": "Hay {{serversUnavailable}} de {{totalServers}} servidores fuera de línea.", "SingleServerUnavailable": "Hay {{serversUnavailable}} de {{totalServers}} servidores fuera de línea.",
"OfflineHeading": "Fuera de línea", "OfflineHeading": "Fuera de línea",
"OfflineParagraph": "El servidor de medios está fuera de línea.", "OfflineParagraph": "El servidor de medios está fuera de línea.",
@ -51,11 +51,11 @@
"Vote": "Votar", "Vote": "Votar",
"Donate": "¡Donar!", "Donate": "¡Donar!",
"DonateLibraryMaintainer": "Donar al mantenedor de la biblioteca", "DonateLibraryMaintainer": "Donar al mantenedor de la biblioteca",
"DonateTooltip": "Para que mi esposa me deje desarrollar Ombi ;)", "DonateTooltip": "Así es como convenzo a mi esposa para que me deje pasar mi tiempo libre desarrollando ombi;)",
"UpdateAvailableTooltip": "¡Actualización disponible!", "UpdateAvailableTooltip": "¡Actualización disponible!",
"Settings": "Ajustes", "Settings": "Ajustes",
"Welcome": "Bienvenido {{username}}", "Welcome": "Bienvenido {{username}}",
"UpdateDetails": "Detalles de la actualización", "UpdateDetails": "Editar cuenta usuario",
"Logout": "Cerrar sesión", "Logout": "Cerrar sesión",
"OpenMobileApp": "Abrir aplicación móvil", "OpenMobileApp": "Abrir aplicación móvil",
"RecentlyAdded": "Agregado recientemente" "RecentlyAdded": "Agregado recientemente"
@ -74,7 +74,7 @@
"ViewOnEmby": "Ver en Emby", "ViewOnEmby": "Ver en Emby",
"RequestAdded": "La solicitud de {{title}} se ha agregado con éxito", "RequestAdded": "La solicitud de {{title}} se ha agregado con éxito",
"Similar": "Similar", "Similar": "Similar",
"Refine": "Refinar", "Refine": "Filtros",
"Movies": { "Movies": {
"PopularMovies": "Películas populares", "PopularMovies": "Películas populares",
"UpcomingMovies": "Próximas películas", "UpcomingMovies": "Próximas películas",
@ -89,7 +89,7 @@
"MostWatched": "Más visto", "MostWatched": "Más visto",
"MostAnticipated": "Más Anticipado", "MostAnticipated": "Más Anticipado",
"Results": "Resultados", "Results": "Resultados",
"AirDate": "Fecha del Aire:", "AirDate": "Fecha de emisión:",
"AllSeasons": "Todas las temporadas", "AllSeasons": "Todas las temporadas",
"FirstSeason": "Primera temporada", "FirstSeason": "Primera temporada",
"LatestSeason": "Última temporada", "LatestSeason": "Última temporada",

@ -74,7 +74,7 @@
"ViewOnEmby": "Regarder sur Emby", "ViewOnEmby": "Regarder sur Emby",
"RequestAdded": "La demande pour {{title}} a été ajoutée avec succès", "RequestAdded": "La demande pour {{title}} a été ajoutée avec succès",
"Similar": "Similaires", "Similar": "Similaires",
"Refine": "Refine", "Refine": "Affiner",
"Movies": { "Movies": {
"PopularMovies": "Films populaires", "PopularMovies": "Films populaires",
"UpcomingMovies": "Films à venir", "UpcomingMovies": "Films à venir",

@ -11,10 +11,10 @@
}, },
"Common": { "Common": {
"ContinueButton": "Dalej", "ContinueButton": "Dalej",
"Available": "Dostępny", "Available": "Dostępne",
"PartiallyAvailable": "Partially Available", "PartiallyAvailable": "Częściowo dostępne",
"Monitored": "Monitored", "Monitored": "Monitorowane",
"NotAvailable": "Niedostępny", "NotAvailable": "Niedostępne",
"ProcessingRequest": "Przetwarzanie zgłoszenia", "ProcessingRequest": "Przetwarzanie zgłoszenia",
"PendingApproval": "Oczekujące na zatwierdzenie", "PendingApproval": "Oczekujące na zatwierdzenie",
"RequestDenied": "Zgłoszenie odrzucone", "RequestDenied": "Zgłoszenie odrzucone",
@ -23,7 +23,7 @@
"Request": "Zgłoszenie", "Request": "Zgłoszenie",
"Denied": "Odrzucone", "Denied": "Odrzucone",
"Approve": "Zatwierdź", "Approve": "Zatwierdź",
"PartlyAvailable": "Dostępne częściowo", "PartlyAvailable": "Częściowo dostępne",
"Errors": { "Errors": {
"Validation": "Sprawdź wprowadzone dane" "Validation": "Sprawdź wprowadzone dane"
} }
@ -34,13 +34,13 @@
}, },
"LandingPage": { "LandingPage": {
"OnlineHeading": "Dostępny", "OnlineHeading": "Dostępny",
"OnlineParagraph": "Serwer mediów jest dostępny", "OnlineParagraph": "Serwer multimediów jest aktualnie online",
"PartiallyOnlineHeading": "Dostępny częściowo", "PartiallyOnlineHeading": "Częściowo online",
"PartiallyOnlineParagraph": "Serwer mediów jest dostępny częściowo.", "PartiallyOnlineParagraph": "Serwer multimediów jest częściowo online.",
"MultipleServersUnavailable": "{{serversUnavailable}} serwerów spośród {{totalServers}} jest niedostępnych.", "MultipleServersUnavailable": "{{serversUnavailable}} serwerów spośród {{totalServers}} jest offline.",
"SingleServerUnavailable": "Jeden serwer spośród {{totalServers}} jest niedostępny.", "SingleServerUnavailable": "{{serversUnavailable}} serwer z {{totalServers}} jest w offline.",
"OfflineHeading": "Niedostępny", "OfflineHeading": "Aktualnie offline",
"OfflineParagraph": "Serwer mediów jest niedostępny.", "OfflineParagraph": "Serwer multimediów jest aktualnie offline.",
"CheckPageForUpdates": "Tutaj znajdziesz aktualizacje dotyczące tej strony." "CheckPageForUpdates": "Tutaj znajdziesz aktualizacje dotyczące tej strony."
}, },
"NavigationBar": { "NavigationBar": {
@ -48,7 +48,7 @@
"Requests": "Zgłoszenia", "Requests": "Zgłoszenia",
"UserManagement": "Zarządzanie użytkownikami", "UserManagement": "Zarządzanie użytkownikami",
"Issues": "Problemy", "Issues": "Problemy",
"Vote": "Vote", "Vote": "Głosowania",
"Donate": "Wesprzyj!", "Donate": "Wesprzyj!",
"DonateLibraryMaintainer": "Wesprzyj właściciela biblioteki", "DonateLibraryMaintainer": "Wesprzyj właściciela biblioteki",
"DonateTooltip": "W ten sposób przekonuję moją żonę by spędzać mój wolny czas rozwijając Ombi ;)", "DonateTooltip": "W ten sposób przekonuję moją żonę by spędzać mój wolny czas rozwijając Ombi ;)",
@ -64,8 +64,8 @@
"Title": "Szukaj", "Title": "Szukaj",
"Paragraph": "Chcesz obejrzeć coś, co nie jest obecnie dostępne? Żaden problem, po prostu wyszukaj poniżej i dodaj zgłoszenie!", "Paragraph": "Chcesz obejrzeć coś, co nie jest obecnie dostępne? Żaden problem, po prostu wyszukaj poniżej i dodaj zgłoszenie!",
"MoviesTab": "Filmy", "MoviesTab": "Filmy",
"TvTab": "Seriale", "TvTab": "Programy TV",
"MusicTab": "Music", "MusicTab": "Muzyka",
"Suggestions": "Sugestie", "Suggestions": "Sugestie",
"NoResults": "Niestety nic nie znaleziono!", "NoResults": "Niestety nic nie znaleziono!",
"DigitalDate": "Wydanie cyfrowe: {{date}}", "DigitalDate": "Wydanie cyfrowe: {{date}}",
@ -74,7 +74,7 @@
"ViewOnEmby": "Obejrzyj na Emby", "ViewOnEmby": "Obejrzyj na Emby",
"RequestAdded": "Zgłoszenie dla {{title}} zostało dodane", "RequestAdded": "Zgłoszenie dla {{title}} zostało dodane",
"Similar": "Podobne", "Similar": "Podobne",
"Refine": "Refine", "Refine": "Zawęź",
"Movies": { "Movies": {
"PopularMovies": "Popularne filmy", "PopularMovies": "Popularne filmy",
"UpcomingMovies": "Wkrótce w kinach", "UpcomingMovies": "Wkrótce w kinach",
@ -103,14 +103,14 @@
"Title": "Zgłoszenia", "Title": "Zgłoszenia",
"Paragraph": "Poniżej są twoje i wszystkie inne zgłoszenia, a także ich status akceptacji i pobierania.", "Paragraph": "Poniżej są twoje i wszystkie inne zgłoszenia, a także ich status akceptacji i pobierania.",
"MoviesTab": "Filmy", "MoviesTab": "Filmy",
"TvTab": "Seriale", "TvTab": "Programy TV",
"MusicTab": "Music", "MusicTab": "Muzyka",
"RequestedBy": "Zgłoszone przez:", "RequestedBy": "Zgłoszone przez:",
"Status": "Stan:", "Status": "Status:",
"RequestStatus": "Stan zgłoszenia:", "RequestStatus": "Status zgłoszenia:",
"Denied": "Odrzucono:", "Denied": "Odrzucono:",
"TheatricalRelease": "Premiera kinowa: {{date}}", "TheatricalRelease": "Premiera kinowa: {{date}}",
"ReleaseDate": "Released: {{date}}", "ReleaseDate": "Wydany: {{date}}",
"TheatricalReleaseSort": "Premiera kinowa", "TheatricalReleaseSort": "Premiera kinowa",
"DigitalRelease": "Wydanie cyfrowe: {{date}}", "DigitalRelease": "Wydanie cyfrowe: {{date}}",
"RequestDate": "Data zgłoszenia:", "RequestDate": "Data zgłoszenia:",
@ -125,7 +125,7 @@
"Season": "Sezon:", "Season": "Sezon:",
"GridTitle": "Tytuł", "GridTitle": "Tytuł",
"AirDate": "Data emisji", "AirDate": "Data emisji",
"GridStatus": "Stan", "GridStatus": "Status",
"ReportIssue": "Zgłoś problem", "ReportIssue": "Zgłoś problem",
"Filter": "Filtr", "Filter": "Filtr",
"Sort": "Sortowanie", "Sort": "Sortowanie",
@ -134,14 +134,14 @@
"SortTitleDesc": "Tytuł ▼", "SortTitleDesc": "Tytuł ▼",
"SortRequestDateAsc": "Data zgłoszenia ▲", "SortRequestDateAsc": "Data zgłoszenia ▲",
"SortRequestDateDesc": "Data zgłoszenia ▼", "SortRequestDateDesc": "Data zgłoszenia ▼",
"SortStatusAsc": "Stan ▲", "SortStatusAsc": "Status ▲",
"SortStatusDesc": "Stan ▼", "SortStatusDesc": "Status ▼",
"Remaining": { "Remaining": {
"Quota": "{{remaining}}/{{total}} requests remaining", "Quota": "{{remaining}}/{{total}} pozostałych zgłoszeń",
"NextDays": "Another request will be added in {{time}} days", "NextDays": "Kolejne zgłoszenie zostanie dodane za {{time}} dni",
"NextHours": "Another request will be added in {{time}} hours", "NextHours": "Kolejne zgłoszenie zostanie dodane za {{time}} godzin(y)",
"NextMinutes": "Another request will be added in {{time}} minutes", "NextMinutes": "Kolejne zgłoszenie zostanie dodane za {{time}} minut(y)",
"NextMinute": "Another request will be added in {{time}} minute" "NextMinute": "Kolejne zgłoszenie zostanie dodane za {{time}} minut(y)"
} }
}, },
"Issues": { "Issues": {
@ -166,20 +166,20 @@
"Filter": { "Filter": {
"ClearFilter": "Wyczyść fltr", "ClearFilter": "Wyczyść fltr",
"FilterHeaderAvailability": "Dostępność", "FilterHeaderAvailability": "Dostępność",
"FilterHeaderRequestStatus": "Stan", "FilterHeaderRequestStatus": "Status",
"Approved": "Zatwierdzone", "Approved": "Zatwierdzone",
"PendingApproval": "Oczekujące na zatwierdzenie" "PendingApproval": "Oczekujące na zatwierdzenie"
}, },
"UserManagment": { "UserManagment": {
"TvRemaining": "TV: {{remaining}}/{{total}} remaining", "TvRemaining": "TV: pozostało {{remaining}}/{{total}}",
"MovieRemaining": "Movies: {{remaining}}/{{total}} remaining", "MovieRemaining": "Filmy: pozostało {{remaining}}/{{total}}",
"MusicRemaining": "Music: {{remaining}}/{{total}} remaining", "MusicRemaining": "Muzyka: pozostało {{remaining}}/{{total}}",
"TvDue": "TV: {{date}}", "TvDue": "TV: {{date}}",
"MovieDue": "Movie: {{date}}", "MovieDue": "Film: {{date}}",
"MusicDue": "Music: {{date}}" "MusicDue": "Muzyka: {{date}}"
}, },
"Votes": { "Votes": {
"CompletedVotesTab": "Voted", "CompletedVotesTab": "Zagłosowano",
"VotesTab": "Votes Needed" "VotesTab": "Potrzebne głosy"
} }
} }

Loading…
Cancel
Save