|
|
|
@ -1,4 +1,5 @@ |
|
|
|
using System.Collections.Generic; |
|
|
|
using System.Globalization; |
|
|
|
using System.Linq; |
|
|
|
using System.Threading.Tasks; |
|
|
|
using Microsoft.Extensions.Localization; |
|
|
|
@ -9,7 +10,7 @@ using Volo.Abp.Localization.External; |
|
|
|
|
|
|
|
namespace Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations; |
|
|
|
|
|
|
|
public class AbpApplicationLocalizationAppService : |
|
|
|
public class AbpApplicationLocalizationAppService : |
|
|
|
ApplicationService, |
|
|
|
IAbpApplicationLocalizationAppService |
|
|
|
{ |
|
|
|
@ -23,14 +24,14 @@ public class AbpApplicationLocalizationAppService : |
|
|
|
ExternalLocalizationStore = externalLocalizationStore; |
|
|
|
LocalizationOptions = localizationOptions.Value; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public virtual async Task<ApplicationLocalizationDto> GetAsync(ApplicationLocalizationRequestDto input) |
|
|
|
{ |
|
|
|
if (!CultureHelper.IsValidCultureCode(input.CultureName)) |
|
|
|
{ |
|
|
|
throw new AbpException("The selected culture is not valid! Make sure you enter a valid culture name."); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
using (CultureHelper.Use(input.CultureName)) |
|
|
|
{ |
|
|
|
var resources = LocalizationOptions |
|
|
|
@ -40,8 +41,10 @@ public class AbpApplicationLocalizationAppService : |
|
|
|
await ExternalLocalizationStore.GetResourcesAsync() |
|
|
|
).ToArray(); |
|
|
|
|
|
|
|
var localizationConfig = new ApplicationLocalizationDto { |
|
|
|
Resources = new Dictionary<string, ApplicationLocalizationResourceDto>(resources.Length) |
|
|
|
var localizationConfig = new ApplicationLocalizationDto |
|
|
|
{ |
|
|
|
Resources = new Dictionary<string, ApplicationLocalizationResourceDto>(resources.Length), |
|
|
|
CurrentCulture = CurrentCultureDto.Create() |
|
|
|
}; |
|
|
|
|
|
|
|
foreach (var resource in resources) |
|
|
|
@ -51,7 +54,7 @@ public class AbpApplicationLocalizationAppService : |
|
|
|
if (localizer != null) |
|
|
|
{ |
|
|
|
Dictionary<string, LocalizedString>? staticLocalizedStrings = null; |
|
|
|
|
|
|
|
|
|
|
|
if (input.OnlyDynamics) |
|
|
|
{ |
|
|
|
staticLocalizedStrings = (await localizer.GetAllStringsAsync( |
|
|
|
@ -60,7 +63,7 @@ public class AbpApplicationLocalizationAppService : |
|
|
|
includeDynamicContributors: false |
|
|
|
)).ToDictionary(x => x.Name); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
var localizedStringsWithDynamics = await localizer.GetAllStringsAsync( |
|
|
|
includeParentCultures: true, |
|
|
|
includeBaseLocalizers: false, |
|
|
|
@ -93,4 +96,4 @@ public class AbpApplicationLocalizationAppService : |
|
|
|
return localizationConfig; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|