using System.Collections.Generic; using System.Net.Http; using System.Threading.Tasks; using Oqtane.Documentation; using Oqtane.Models; using Oqtane.Shared; namespace Oqtane.Services { /// /// Service to retrieve localizations () /// public interface ILocalizationService { /// /// Returns a collection of supported or installed cultures /// /// Task> GetCulturesAsync(bool installed); /// /// Returns a collection of neutral cultures /// /// Task> GetNeutralCulturesAsync(); } [PrivateApi("Don't show in the documentation, as everything should use the Interface")] public class LocalizationService : ServiceBase, ILocalizationService { public LocalizationService(HttpClient http, SiteState siteState) : base(http, siteState) { } private string Apiurl => CreateApiUrl("Localization"); public async Task> GetCulturesAsync(bool installed) { return await GetJsonAsync>($"{Apiurl}?installed={installed}"); } public async Task> GetNeutralCulturesAsync() { return await GetJsonAsync>($"{Apiurl}/neutral"); } } }