Introduce Culture model to avoid CultureInfo.DisplayName issue
This commit is contained in:
		| @ -1,11 +1,13 @@ | ||||
| using System.Collections.Generic; | ||||
| using System.Threading.Tasks; | ||||
| using Oqtane.Models; | ||||
|  | ||||
| namespace Oqtane.Services | ||||
| { | ||||
|     public interface ILocalizationService | ||||
|     { | ||||
|         Task<string> GetDefaultCulture(); | ||||
|         Task<Culture> GetDefaultCulture(); | ||||
|  | ||||
|         Task<string[]> GetSupportedCultures(); | ||||
|         Task<IEnumerable<Culture>> GetSupportedCultures(); | ||||
|     } | ||||
| } | ||||
|  | ||||
| @ -1,5 +1,7 @@ | ||||
| using System.Collections.Generic; | ||||
| using System.Net.Http; | ||||
| using System.Threading.Tasks; | ||||
| using Oqtane.Models; | ||||
| using Oqtane.Shared; | ||||
|  | ||||
| namespace Oqtane.Services | ||||
| @ -15,8 +17,9 @@ namespace Oqtane.Services | ||||
|  | ||||
|         private string Apiurl => CreateApiUrl(_siteState.Alias, "Localization"); | ||||
|  | ||||
|         public async Task<string> GetDefaultCulture() => await GetJsonAsync<string>($"{Apiurl}/getDefaultCulture"); | ||||
|         public async Task<Culture> GetDefaultCulture() => await GetJsonAsync<Culture>($"{Apiurl}/getDefaultCulture"); | ||||
|  | ||||
|         public async Task<string[]> GetSupportedCultures() => await GetJsonAsync<string[]>($"{Apiurl}/getSupportedCultures"); | ||||
|         public async Task<IEnumerable<Culture>> GetSupportedCultures() | ||||
|             => await GetJsonAsync<IEnumerable<Culture>>($"{Apiurl}/getSupportedCultures"); | ||||
|     } | ||||
| } | ||||
|  | ||||
| @ -1,6 +1,7 @@ | ||||
| @namespace Oqtane.Themes.Controls | ||||
| @inherits ThemeControlBase | ||||
| @using System.Globalization | ||||
| @using System.Globalization  | ||||
| @using Oqtane.Models | ||||
| @inject ILocalizationService LocalizationService | ||||
| @inject NavigationManager NavigationManager | ||||
|  | ||||
| @ -13,7 +14,7 @@ | ||||
|         <div class="dropdown-menu" aria-labelledby="btnCultures"> | ||||
|             @foreach (var culture in _supportedCultures) | ||||
|             { | ||||
|                 <a class="dropdown-item @(_selectedCulture == culture ? "active" : String.Empty)" href="#" @onclick="@(async e => await SetCultureAsync(culture))">@CultureInfo.GetCultureInfo(culture).DisplayName</a> | ||||
|                 <a class="dropdown-item @(_selectedCulture == culture.Name ? "active" : String.Empty)" href="#" @onclick="@(async e => await SetCultureAsync(culture.Name))">@culture.DisplayName</a> | ||||
|             } | ||||
|         </div> | ||||
|     </div> | ||||
| @ -21,7 +22,7 @@ | ||||
|  | ||||
| @code{ | ||||
|     private string _selectedCulture; | ||||
|     private string[] _supportedCultures; | ||||
|     private IEnumerable<Culture> _supportedCultures; | ||||
|  | ||||
|     protected override async Task OnParametersSetAsync() | ||||
|     { | ||||
|  | ||||
		Reference in New Issue
	
	Block a user
	 hishamco
					hishamco