#asp.net-core #abp
#asp.net-ядро #abp
Вопрос:
Как переопределить AbpAccount по умолчанию, AbpValidation, AbpFeatureManagement и т. Д
Конфигурация предоставляется с этой конечной точки: /api/abp/application-configuration
У меня есть файл fr.json, однако я не уверен, где его разместить?
В настоящее время все показано на английском, но я хочу показать это на французском
Комментарии:
1. Вы можете прочитать об этом здесь
2. Я уже прочитал это, но я не могу переопределить стандартную. В руководстве показано только, как добавить новый ресурс, который у меня заработал, вы знаете, как заставить работать локализацию пользовательского интерфейса сервера идентификации? Предполагая, что это также зависит от стандартных, и я не могу добавить французский json
3. вы отметили оба
[aspnetboilerplate]
и[abp]
— попробуйте выбрать один, чтобы получить лучший ответ4. Я имею в виду здесь фреймворк abp, как в abp.io
Ответ №1:
Я создаю пример, чтобы показать, как расширить существующий ресурс ABP
Этот пример основан на следующем документе https://docs.abp.io/en/abp/latest/Localization#extending-existing-resource
Мы изменим значение по умолчанию DisplayName:Abp.Timing.Timezone
и Description:Abp.Timing.Timezone
AbpTimingResource
и добавим локализованный текст на русском языке( ru
).
Я создал AbpTiming
папку в Localization
каталоге ExtendLocalizationResource.Domain.Shared
проекта.
Создайте en.json и ru.json в своем каталоге.
en.json
{
"culture": "en",
"texts": {
"DisplayName:Abp.Timing.Timezone": "My Time zone",
"Description:Abp.Timing.Timezone": "My Application time zone"
}
}
ru.json
{
"culture": "ru",
"texts": {
"DisplayName:Abp.Timing.Timezone": "Часовой пояс",
"Description:Abp.Timing.Timezone": "Часовой пояс приложения"
}
}
Измените код ConfigureServices
метода в ExtendLocalizationResourceDomainSharedModule
.
Configure<AbpLocalizationOptions>(options =>
{
options.Resources
.Add<ExtendLocalizationResourceResource>("en")
.AddBaseTypes(typeof(AbpValidationResource))
.AddVirtualJson("/Localization/ExtendLocalizationResource");
//add following code
options.Resources
.Get<AbpTimingResource>()
.AddVirtualJson("/Localization/AbpTiming");
options.DefaultResourceType = typeof(ExtendLocalizationResourceResource);
});
Выполните, ExtendLocalizationResource.DbMigrator
чтобы перенести базу данных и запустить ExtendLocalizationResource.Web
.
Мы изменили текст локализации на английском языке и добавили русскую локализацию.
<p>@AbpTimingResource["DisplayName:Abp.Timing.Timezone"]</p>
@using(CultureHelper.Use("ru"))
{
<p>@AbpTimingResource["DisplayName:Abp.Timing.Timezone"]</p>
}
Комментарии:
1. Сработало как шарм! Ta