diff --git a/Oqtane.Client/Modules/Admin/Languages/Add.razor b/Oqtane.Client/Modules/Admin/Languages/Add.razor index e081b83a..aecb372c 100644 --- a/Oqtane.Client/Modules/Admin/Languages/Add.razor +++ b/Oqtane.Client/Modules/Admin/Languages/Add.razor @@ -16,39 +16,39 @@ else { - @if (_supportedCultures?.Count() > 1) + @if (_availableCultures.Count() == 0) { - - - - - - - - - -
- - - -
- - - -
- + } else { - + + + + + + + + + +
+ + + +
+ + + +
+ } @Localizer["Cancel"]
@@ -98,17 +98,31 @@ else @code { private string _code = string.Empty; private string _isDefault = "False"; + private string _message; + private IEnumerable _supportedCultures; + private IEnumerable _availableCultures; private List _packages; public override SecurityAccessLevel SecurityAccessLevel => SecurityAccessLevel.Admin; - private IEnumerable _supportedCultures; - protected override async Task OnParametersSetAsync() { + var languages = await LanguageService.GetLanguagesAsync(PageState.Site.SiteId); + var languagesCodes = languages.Select(l => l.Code).ToList(); + _supportedCultures = await LocalizationService.GetCulturesAsync(); - _supportedCultures = _supportedCultures.Where(c => !c.Name.Equals(Constants.DefaultCulture)); + _availableCultures = _supportedCultures + .Where(c => !c.Name.Equals(Constants.DefaultCulture) && !languagesCodes.Contains(c.Name)); _packages = await PackageService.GetPackagesAsync("language"); + + if (_supportedCultures.Count() == 1) + { + _message = Localizer["The Only Installed Language Is English"]; + } + else if (_availableCultures.Count() == 0) + { + _message = Localizer["All The Installed Languages Have Been Added."]; + } } private async Task SaveLanguage()