|
|
|
@ -1,5 +1,6 @@
|
|
|
|
|
using System.Text.Json;
|
|
|
|
|
using Microsoft.AspNetCore.Mvc;
|
|
|
|
|
using Newtonsoft.Json;
|
|
|
|
|
using NzbDrone.Common.Serializer;
|
|
|
|
|
using NzbDrone.Core.Localization;
|
|
|
|
|
using Prowlarr.Http;
|
|
|
|
|
|
|
|
|
@ -9,25 +10,20 @@ namespace Prowlarr.Api.V1.Localization
|
|
|
|
|
public class LocalizationController : Controller
|
|
|
|
|
{
|
|
|
|
|
private readonly ILocalizationService _localizationService;
|
|
|
|
|
private readonly JsonSerializerOptions _serializerSettings;
|
|
|
|
|
|
|
|
|
|
public LocalizationController(ILocalizationService localizationService)
|
|
|
|
|
{
|
|
|
|
|
_localizationService = localizationService;
|
|
|
|
|
_serializerSettings = STJson.GetSerializerSettings();
|
|
|
|
|
_serializerSettings.DictionaryKeyPolicy = null;
|
|
|
|
|
_serializerSettings.PropertyNamingPolicy = null;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[HttpGet]
|
|
|
|
|
public string GetLocalizationDictionary()
|
|
|
|
|
{
|
|
|
|
|
// We don't want camel case for transation strings, create new serializer settings
|
|
|
|
|
var serializerSettings = new JsonSerializerSettings
|
|
|
|
|
{
|
|
|
|
|
DateTimeZoneHandling = DateTimeZoneHandling.Utc,
|
|
|
|
|
NullValueHandling = NullValueHandling.Ignore,
|
|
|
|
|
Formatting = Formatting.Indented,
|
|
|
|
|
DefaultValueHandling = DefaultValueHandling.Include
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
return JsonConvert.SerializeObject(_localizationService.GetLocalizationDictionary().ToResource(), serializerSettings);
|
|
|
|
|
return JsonSerializer.Serialize(_localizationService.GetLocalizationDictionary().ToResource(), _serializerSettings);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|